如何从Python中的字典中获取键值?

How to get the key from value in a dictionary in Python?

本问题已经有最佳答案,请猛点这里访问。
1
d[key] = value

但是如何从价值中获得钥匙呢?

例如:

1
2
3
4
a = {"horse": 4,"hot": 10,"hangover": 1,"hugs": 10}
b = 10

print(do_something with 10 to get ["hot","hugs"])


您可以编写一个列表理解来拉出匹配的键。

1
print([k for k,v in a.items() if v == b])

像这样的事情可以做到:

1
2
3
for key, value in a.iteritems():
    if value == 10:
        print key

如果要将关联键保存到列表中的值,请按以下方式编辑上面的示例:

1
2
3
4
5
keys = []
for key, value in a.iteritems():
    if value == 10:
        print key
        keys.append(key)

你也可以像其他答案中指出的那样,在列表理解中这样做。

1
2
b = 10
keys = [key for key, value in a.iteritems() if value == b]

注意,在python 3中,dict.items相当于python 2中的dict.iteritems,请检查它以了解更多详细信息:dict.items()和dict.iteritems()之间的区别是什么?