본문 바로가기
Python/Python FAQ

Python 사전에서 값으로 키 가져오기, Get key by value in dictionary

by 베타코드 2023. 6. 9.
반응형

질문


나는 Dictionary에서 나이를 찾아 일치하는 이름을 보여줄 함수를 만들었다:

dictionary = {'george' : 16, 'amber' : 19}
search_age = raw_input("나이를 입력하세요")
for age in dictionary.values():
    if age == search_age:
        name = dictionary[age]
        print name

나는 비교하고 나이를 찾는 방법을 알고 있지만, 그 사람의 이름을 표시하는 방법을 모르겠다. 또한, 5번째 줄 때문에 KeyError가 발생한다. 이것이 올바르지 않다는 것을 알고 있지만, 역으로 검색하는 방법을 찾을 수 없다.


답변


mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)]  # george를 출력합니다.

또는 Python 3.x에서:

mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)])  # george를 출력합니다.

기본적으로, 이것은 사전의 값을 목록으로 분리하고, 가지고 있는 값을 찾아 그 위치를 찾은 다음 해당 위치의 키를 가져옵니다.

Python 3에서 keys().values()에 대해 더 알아보세요: dict에서 값을 가져오는 가장 간단한 방법은 무엇인가요?

반응형

댓글