从字典中的值查找键
您在检索 Python 字典中与特定年龄相关的名称时遇到了挑战。让我们深入研究如何通过更有效的方法实现这一目标。
问题
您的原始代码尝试迭代字典的值并将它们与输入进行比较年龄。但是,单独迭代值并不能提供对相应键的访问。这会导致您尝试直接检索名称时遇到 KeyError。
解决方案
要查找与特定值关联的键,请使用反转的方法键值关系。在 Python 中,可以利用 dict.keys() 和 dict.values() 方法来实现此目的。
Python 2.x
mydict = {'george': 16, 'amber': 19} print mydict.keys()[mydict.values().index(16)] # Prints 'george'
在 Python 中2.x 中,mydict.values() 返回值列表。通过使用index(),您可以确定目标值在该列表中的位置。然后可以使用 mydict.keys()[index] 检索相应的键。
Python 3.x
mydict = {'george': 16, 'amber': 19} print(list(mydict.keys())[list(mydict.values()).index(16)]) # Prints 'george'
在 Python 3.x 中,两个 dict .keys() 和 dict.values() 返回迭代器。要获取列表,您需要使用 list() 显式转换它,如上所示。
结论
这种方法允许您根据已知值高效地检索键在 Python 字典中。请记住考虑您正在使用的 Python 版本,因为版本之间的语法可能略有不同。
以上是如何在Python中根据值高效查找字典键?的详细内容。更多信息请关注PHP中文网其他相关文章!