我有一个字典列表,我想删除字典具有相同的键和值对。
这个列表:[{a: 123}, {b: 123}, {a: 123}]
我想返回这个:[{'a': 123}, {'b': 123}]
另一个例子:
这个列表:[{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}, {' a ': 123, ' b ': 1234}]
我想退回这:[{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}]
如果你想维护骑士团,那你可以这么做
from collections import OrderedDict
print OrderedDict((frozenset(item.items()),item) for item in data).values()
# [{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}]
如果顺序不重要,那么你可以这样做
print {frozenset(item.items()):item for item in data}.values()
# [{'a': 3222, 'b': 1234}, {'a': 123, 'b': 1234}]