Python 딕셔너리 value 값으로 key 값 찾기

반응형
반응형

 

 

딕셔너리는 key : value 값으로 되어있습니다. key값을 넣어주면 value 값이 나오는 구조입니다.

그런데 value 값으로 key 값을 찾아야 할 경우가 종종 생기지만 dict 명령으로는 불러올 수가 없습니다. 

코드로써 해결해야 합니다. 그럴 때 쓰는 방법입니다. 

 

저는 두가지 방법을 알고 있습니다.

1. dict을 뒤집어서 key 와 value 자리를 바꾼다.

2. for 문을 활용한다.

 

1. dict을 뒤집어서 key와 value 자리를 바꾼다.

첫번째 방법은 map을 활용해 dict을 뒤집어 새로운 dict으로 생성하는 방법입니다.

먼저 pratice_dict을 만들겠습니다. 종목명이 key, 종목코드가 value 입니다.

>>> pratice_dict = {}
>>> pratice_dict['삼성전자'] = '005930'
>>> pratice_dict['카카오'] = '035720'
>>> pratice_dict['현대차'] = '005380'
>>> print(pratice_dict)
{'삼성전자': '005930', '카카오': '035720', '현대차': '005380'}

 

이 dict을 map으로 key와 value를 바꿉니다. reverse_dict으로 새로 생성하겠습니다.

>>> reverse_dict= dict(map(reversed,pratice_dict.items()))
>>> print(reverse_dict)
{'005930': '삼성전자', '035720': '카카오', '005380': '현대차'}

key와 value 가 뒤집어진 새로운 dict이 생성되었습니다.

 

 

2. for 문을 활용한다.

두 번째 방법은 for 문을 활용하는 방법입니다. 첫번째 방법처럼 새로운 dict을 생성하지 않아도 됩니다.

다른 목적이 있어 for 문을 활용할 때 같이 쓰면 좋습니다.

삼성전자를 코드로 찾아보겠습니다.

>>> for key, value in pratice_dict.items():
>>>     if value == '005930':
>>>         print(key)
삼성전자

for 문을 활용해 value 값이 같으면 print 해달라고 코드를 입력했습니다. 

 

 

이걸말고도 다양한 방법이 있을수도 있는데 아직은 코드 장인이 아니라서

위의 두가지 방법 설명하고 포스팅을 마치겠습니다.

 

Designed by JB FACTORY