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']}
Run Code Online (Sandbox Code Playgroud)
这是我的字典.我试图返回:'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])])
Run Code Online (Sandbox Code Playgroud)
输出:
['A1', 'B2']
Run Code Online (Sandbox Code Playgroud)