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

Pet*_*ter 4 python

d[key] = value
Run Code Online (Sandbox Code Playgroud)

但如何从价值中获取钥匙?

例如:

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

print(do_something with 10 to get ["hot", "hugs"])
Run Code Online (Sandbox Code Playgroud)

Joh*_*ica 14

您可以编写列表解析来提取匹配的键.

print([k for k,v in a.items() if v == b])
Run Code Online (Sandbox Code Playgroud)


Moh*_*OUI 5

这样的事情可以做到:

for key, value in a.iteritems():
    if value == 10:
        print key
Run Code Online (Sandbox Code Playgroud)

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

keys = []
for key, value in a.iteritems():
    if value == 10:
        print key
        keys.append(key)
Run Code Online (Sandbox Code Playgroud)

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

b = 10 
keys = [key for key, value in a.iteritems() if value == b]
Run Code Online (Sandbox Code Playgroud)

请注意,在python 3中dict.itemsdict.iteritems在python 2中等效,请检查此以获取更多详细信息:dict.items()和dict.iteritems()有什么区别?