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

具有唯一值的列表返回键的Python字典,python,dictionary,Python,Dictionary,这是我的字典。我正试图返回: “B2”和“A1”最好在列表中,因为这两个键具有唯一的值。秩序不重要。我希望能得到一些帮助,因为我曾尝试创建一个大型for循环集,但运气不佳(例如翻转) 旁注:如果有帮助,字典的值在字符串形式的0-9之间 编辑:1和6让人困惑,抱歉-具体来说,它需要返回B2和A1,因为它们有唯一的值-而不是因为它们是这些值 对于不依赖于1和6为唯一值的一般方法: dictx = {'C2': ['2', '5', '7'], 'A1': ['1','4', '5'], 'C1':

这是我的字典。我正试图返回: “B2”和“A1”最好在列表中,因为这两个键具有唯一的值。秩序不重要。我希望能得到一些帮助,因为我曾尝试创建一个大型for循环集,但运气不佳(例如翻转)

旁注:如果有帮助,字典的值在字符串形式的0-9之间


编辑:1和6让人困惑,抱歉-具体来说,它需要返回B2和A1,因为它们有唯一的值-而不是因为它们是这些值

对于不依赖于1和6为唯一值的一般方法:

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']}
输出:

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])])

翻转是实现这一点的方法。您如何得出B2和A1具有唯一值的结论?措辞非常混乱,我无法编辑。明确说明:唯一值是子列表中的成员,因此它不是任何其他子列表的成员。例如,
'1'
只发生在
A1
中,
'6'
只发生在
B2
中。所以这些都是独一无二的。谢谢!我曾尝试使用for循环,但我想使用Counter会更好一些=)
['A1', 'B2']