我有一个带有唯一键的字典(d
(,但是有些值不是唯一的。我想创建一个只包含唯一值的字典(result
(。与d
中唯一值的第一个实例相关联的键应该是出现在result
中的键。
做这件事的有效方法是什么?
我在类似的数据结构中发现了类似的问题,这些数据结构使用元组和集合来最终得出,例如,唯一值的列表。当我对保留原始密钥和原始数据结构感兴趣时,我不确定如何应用这些解决方案。
如有任何进一步的帮助,我们将不胜感激。
d = {
'a': ['1', '1', '0', '0', '0'],
'b': ['0', '1', '0', '0', '0'],
'c': ['0', '1', '0', '0', '0'],
'd': ['1', '1', '0', '0', '0'],
'e': ['0', '1', '0', '0', '0'],
'f': ['0', '1', '0', '0', '1']
}
result = {
'a': ['1', '1', '0', '0', '0'],
'b': ['0', '1', '0', '0', '0'],
'f': ['0', '1', '0', '0', '1']
}
,你可以做到这一点
r = {}
for k,v in d.items():
if not tuple(v) in r.values():
r[k] = tuple(v)
{k: list(v) for k, v in r.items()}
输出:
{'a': ['1', '1', '0', '0', '0'],
'b': ['0', '1', '0', '0', '0'],
'f': ['0', '1', '0', '0', '1']}