NAMES = ['Alice', 'Bob','Cathy','Dan','Ed','Frank',
'Gary','Helen','Irene','Jack', 'Kelly','Larry']
AGES = [20,21,18,18,19,20,20,19,19,19,22,19]
def nameage(a,b):
nameagelist = [x for x in zip(a,b)]
nameagedict = dict(nameagelist)
return nameagedict
def name(a):
for x in nameage(NAMES,AGES):
if a in nameage(NAMES,AGES).values():
print nameage(NAMES,AGES).keys()
print name(19)
나는 19 세의 사람들의 이름을 반환하려고합니다. 값으로 사전을 검색하고 키를 반환하려면 어떻게해야합니까?파이썬에 대한 dict 값을 통해 키 찾기
귀하의 예를 들어, 데이터는 질문을 일치하지 않습니다. 사전이 아닌 두 개의 목록으로 시작합니다. 데이터가 key = name 및 value = age 인 dict 유형으로 시작하는 경우 역 사전 검색을 수행합니다. 여기에서 일부 토론 http://stackoverflow.com/questions/2568673/inverse-dictionary-lookup-python#2568673 – DevPlayer
또한 "name"이라는 함수가 잘못되었습니다. 대부분의 연령대에 여러 이름이 있으므로 아마도 "이름"이라고해야합니다. 또한 귀하의 데이터는 잠재적 인 문제를 암시합니다. 실제 데이터가 사람들의 이름이나 사람의 나이가 아닐지라도, 어떤 크기의 데이터에서도 두 가지 객체 모두 고유하지 않을 가능성이 높습니다. 예를 들어, 존 스미스가 특정 날에 태어난 사람이 한 명 이상일 수 있습니다. – DevPlayer