我制作了一个函数,它将在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
。我知道这不正确,但我不知道如何让它向后搜索
如果您想要名称和年龄,您应该使用
.items()
,它将为您提供键(key, value)
元组:您可以在
你也应该考虑翻阅字典,如果你一般都是按年龄看,没有两个人有相同的年龄:for
循环中将元组解压为两个单独的变量,然后匹配年龄所以你可以通过简单的操作来查找一个年龄的名字
我一直叫它
mydict
而不是list
,因为list
是内置类型的名称,您不应该将该名称用于其他任何内容您甚至可以在一行中获得具有给定年龄的所有人的列表:
或者,如果每个年龄只有一个人:
如果没有这个年龄的人,那就给你
<>最后,如果^ {None
没有
dict
不打算以这种方式使用或者在Python 3.x中:
基本上,它在一个列表中分隔字典的值,找到您拥有的值的位置,并在该位置获取键
关于Python 3中的
keys()
和.values()
的更多信息:How can I get list of values from dict?相关问题 更多 >
编程相关推荐