我有大数据为了可视化目的,这是dict的示例列表,
输入:
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.
最佳答案 你可以试试这个
from itertools import groupby
[j.next() for i , j in groupby(a, lambda x: sorted(x.values()))
输出:
[{'e1': 'a', 'e2': 'b'}, {'e1': 'a', 'e2': 'c'}]