2017-08-11 60 views
0
d[key] = value 

但如何從價值中獲得鑰匙?如何從Python中的字典中獲取鍵值?

例如:

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

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

這不是什麼地圖被造的,它應該是周圍的其他方法。 爲什麼你需要通過它們的值來查找條目? – Altoyyr

回答

3

你可以寫一個列表理解拉出匹配的密鑰。

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

像這樣的事情可以做:

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

如果你想關聯的密鑰保存到列表中的一個值,您可以編輯上面的例子如下:

keys = [] 
for key, value in a.iteritems(): 
    if value == 10: 
     print key 
     keys.append(key) 

您也可以在列表理解中做到這一點,正如其他答案中指出的那樣。

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

注意的是Python 3,dict.items相當於dict.iteritems在Python 2,請在此瞭解更多詳情:What is the difference between dict.items() and dict.iteritems()?

+0

最接近你會得到OP想要的東西 – maestromusica

相關問題