Python 사전의 역방향 조회: 값으로 키 검색
Python 사전은 키를 해당 값에 매핑하는 효율적인 방법을 제공하지만, 역방향 조회를 수행해야 하는 상황이 있을 수 있습니다. 이는 값이 있고 관련 키를 찾아야 하는 시나리오에 유용할 수 있습니다.
질문:
이름을 연령에 매핑하는 사전이 있다고 가정합니다. . 여러분의 임무는 나이를 입력으로 받아 해당 이름을 반환하는 함수를 만드는 것입니다. 그러나 스크립트에 KeyError 오류가 발생하여 이 경우를 처리하기 위해 코드를 수정하는 데 도움을 구하고 있습니다.
코드:
dictionary = {'george': 16, 'amber': 19} search_age = raw_input("Provide age") for age in dictionary.values(): if age == search_age: name = dictionary[age] print name
해결책:
제공된 코드는 사전의 값을 반복하여 다음과 비교하려고 시도합니다. 입력 연령. 일치하는 항목이 발견되면 코드는 Dictionary[age]를 사용하여 사전에서 일치하는 키를 검색하려고 시도하는데, 여기서 KeyError가 발생합니다.
Python에서 역방향 조회를 수행하려면 다음 두 가지 방법을 활용할 수 있습니다.
방법 1:
mydict = {'george': 16, 'amber': 19} print mydict.keys()[mydict.values().index(16)] # Prints george
이 접근 방식에는 다음을 사용하여 모든 키와 값의 목록을 얻는 작업이 포함됩니다. 각각 mydict.keys() 및 mydict.values()입니다. 그런 다음 값 목록에서 index()를 사용하여 입력 연령의 위치를 찾고 해당 위치에서 키를 검색합니다.
방법 2(Python 3.x):
mydict = {'george': 16, 'amber': 19} print(list(mydict.keys())[list(mydict.values()).index(16)]) # Prints george
첫 번째 방법과 유사하게 이 접근 방식에는 키와 값을 목록으로 변환하는 작업이 포함됩니다. 그러나 Python 3.x 구문을 활용하여 색인 생성 프로세스를 단순화합니다.
위 내용은 Python 사전에서 역방향 조회를 수행할 때 `KeyError`를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!