[英]Python Dictionary of List - Returning Keys which have a unique value
dictx = {'C2': ['2', '5', '7'], 'A1': ['1','4', '5'], 'C1': ['2', '5'], 'A2': ['4', '5', '7', '8'], 'B3': ['4', '7'], 'B2': ['2', '4', '6', '7', '8']}
這是我的字典。 我嘗試返回:最好在列表中返回“ B2”和“ A1”,因為這兩個鍵具有唯一的值。 順序無關緊要。 希望得到一些幫助,因為我嘗試創建大量的for循環,但是沒有運氣(例如翻轉)。
旁注:如果有幫助,字典的值以字符串形式介於0-9之間。
編輯:1和6令人困惑,對不起-具體來說,它需要返回B2和A1,因為它們具有唯一值-不是因為它們是那些值。
對於不依賴1和6作為唯一值的一般方法:
from collections import Counter
key_counter = Counter([entry for val in dictx.values() for entry in val])
print ([key for key in dictx if any(key_counter[val] == 1 for val in dictx[key])])
輸出:
['A1', 'B2']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.