我有一个 list :
d = [{'x':1, 'y':2}, {'x':3, 'y':4}, {'x':1, 'y':2}]
{'x':1, 'y':2}
不止一次出现我想从列表中删除它。我的结果应该是:
d = [{'x':1, 'y':2}, {'x':3, 'y':4} ]
注意:
list(set(d))
在这里不起作用并抛出错误。
最佳答案
如果您的值是可散列的,这将起作用:
>>> [dict(y) for y in set(tuple(x.items()) for x in d)]
[{'y': 4, 'x': 3}, {'y': 2, 'x': 1}]
编辑:
我试过没有重复,它似乎工作正常
>>> d = [{'x':1, 'y':2}, {'x':3, 'y':4}]
>>> [dict(y) for y in set(tuple(x.items()) for x in d)]
[{'y': 4, 'x': 3}, {'y': 2, 'x': 1}]
和
>>> d = [{'x':1,'y':2}]
>>> [dict(y) for y in set(tuple(x.items()) for x in d)]
[{'y': 2, 'x': 1}]
关于python - 如何在python中统一一个dict列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6280978/