我很难在字典中找到一个非重复的值。
my_dict = {(1, 1):'2345', (1, 2):'234', (1, 3):'5678', (1, 4):'2387'}
我需要能够找出的是,什么字符不是重复的字符,什么是键的值。对于这本字典,我需要返回以下内容:
>>> {(1, 3):'6'}
6是唯一没有出现在其他任何值中的值,因此我需要返回键((1,3))和非重复的(6)。
任何帮助将不胜感激。
my_dict = {(1, 1):'2345', (1, 2):'234', (1, 3):'5678', (1, 4):'2387'}
from collections import defaultdict
d = defaultdict(list)
for k, v in my_dict.items():
for char in v:
d[char].append(k)
print {v[0]:k for k, v in d.items() if len(v) == 1}
如果您只想用字典来做
d = {}
for k, v in my_dict.items():
for char in v:
d.setdefault(char, []).append(k)
print {v[0]:k for k, v in d.items() if len(v) == 1}
输出
{(1, 3): '6'}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句