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

    ....