在字典中按值获取键

新手上路,请多包涵

我做了一个函数,它将在 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 。我知道它不正确,但我不知道如何让它向后搜索。

原文由 user998316 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 235
2 个回答

空无一人。 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)

原文由 Cat Plus Plus 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

基本上,它在列表中分隔字典的值,找到您拥有的值的位置,并获取该位置的键。

更多关于 keys().values() 在 Python 3 中: 如何从字典中获取值列表?

原文由 Stênio Elson 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题