반응형
질문
나는 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에서 값을 가져오는 가장 간단한 방법은 무엇인가요?
반응형
댓글