如何创建一个只有另一个字典的唯一值和关联键的字典



我有一个带有唯一键的字典(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']}

最新更新