python - 在字典中按值获取键

标签 python dictionary

我做了一个函数,它将在 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/

相关文章:

python - 错误 "' numpy.ndarray'对象没有属性 'values'"

python:如何更改skimage调整大小的输出形状

python - 使用 Python 从 gradle 文件中提取依赖项和版本

c++ - 在 C++ 中存储一些数字的方法(有关详细信息,请参见内部)

php - 基于 php 中的键查找值的有效方法

python - 显示 3D 表面网格的快速简单方法

Python - 在 re.compile 开头使用 (?!...) 失败

python-3.x - 使用其中的值列表创建单独的字典

android - osmdroid 和 Android 应用程序的地理点是否不同?

python - 比较列表和字典并输出真假