dict独特组合Python列表

我有大数据为了可视化目的,这是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'}]
点赞