通过字典中的值获取键

我制作了一个函数,该函数将查询年龄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

我知道如何比较和查找年龄,但我不知道如何显示此人的名字。另外,KeyError由于第5行,我得到了提示。我知道这是不正确的,但是我不知道如何使它向后搜索。

回答:

空无一人。dict不打算以此方式使用。

dictionary = {'george': 16, 'amber': 19}

search_age = input("Provide age")

for name, age in dictionary.items(): # for name, age in dictionary.iteritems(): (for Python 2.x)

if age == search_age:

print(name)


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(),如何从dict中获取值列表?.values()

以上是 通过字典中的值获取键 的全部内容, 来源链接: utcz.com/qa/419163.html

回到顶部