![](/img/trans.png)
[英]How to find out the keys of a dictionary with maximum number of common values?
[英]Find common values in dictionary that has keys with multiple values
我是python新手,有問題。 我試圖找到具有值的鍵; 但是,鍵具有多個值。
d = {
'a': ['john', 'doe', 'jane'],
'b': ['james', 'danny', 'john'],
'C':['john', 'scott', 'jane'],
}
我想在d中找到值john
並獲取鍵a,b和c,或者找到jane
並獲取鍵a和c。
使用列表推導很容易做到這一點。 迭代dict的項目列表中的每個鍵/值對,其中包含所有鍵/值對( for key,val in d.items()
),並且僅選擇值列表中包含目標字符串的對( if 'john' in val
,從結果鍵( [ key ... ]
)中構建列表。
>>> [ key for key,val in d.items() if 'john' in val ]
['b', 'a', 'C']
>>> [ key for key,val in d.items() if 'jane' in val ]
['a', 'C']
因此,您必須仔細閱讀字典中的項目,如果find關鍵字在項目列表中,則必須將相應的鍵存儲在列表中,並且必須顯示此列表。
d = {'a':['john', 'doe', 'jane'], 'b': ['james', 'danny', 'john'], 'C':['john', 'scott', 'jane'],}
find ='jane'
所以這就是用python編寫邏輯的方式
print ([m for m in d.keys() if find in d[m]])
它將給出以下輸出
['a', 'C']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.