我有大数据为了可视化的目的,这是dict as的示例列表,
输入:
a = [{'e1': 'a','e2': 'b'}, {'e1': 'b','e2': 'a'}, {'e1': 'a','e2': 'c'} ]
输出:
a = [{'e1': 'a','e2': 'b'}, {'e1': 'a','e2': 'c'}]
详情:
如果 {'e1': 'a','e2': 'b'}
和 {'e1': 'b','e2': 'a'}
指向彼此的值然后我希望这是唯一的 {'e1': 'a','e2': 'b'}
。
所以基本上 e1 是源,e2 是目标。源和目标之间是否存在任何连接应该是唯一的。这里已经A连接到B那么它不应该认为B连接到A。
最佳答案
>>> dup_checker, output_a = [], []
>>> for dict_element in a:
element_values = dict_element.values()
element_values.sort()
if element_values not in dup_checker:
output_a.append(dict_element)
dup_checker.append(element_values)
>>> output_a
[{'e1': 'a', 'e2': 'b'}, {'e1': 'a', 'e2': 'c'}]
对 dict 元素值进行排序并创建一个 dup_checker 进行跟踪。
关于python - 字典唯一组合Python列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43270560/