簡體   English   中英

Python列表字典-返回具有唯一值的鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM