我做了一个函数,它将在 Dictionary
中查找年龄并显示匹配的名称:
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
我知道如何比较和查找我只是不知道如何显示人名的年龄。此外,由于第 5 行,我得到了一个 KeyError
。我知道它不正确,但我不知道如何让它向后搜索。
最佳答案
mydict = {'george': 16, 'amber': 19}
print mydict.keys()[mydict.values().index(16)] # Prints george
或者在 Python 3.x 中:
mydict = {'george': 16, 'amber': 19}
print(list(mydict.keys())[list(mydict.values()).index(16)]) # Prints george
基本上,它将字典的值分隔在一个列表中,找到你所拥有的值的位置,并获取该位置的键。
更多关于 Python 3 中的 keys()
和 .values()
:How can I get list of values from dict?
关于python - 在字典中按值获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023306/