我有一个字典列表,我想删除字典具有相同的键和值对。
这个列表:[{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}]
可以使用set,但需要将字典转换为可哈希类型。
seq = [{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}, {'a': 123, 'b': 1234}]
unique = set()
for d in seq:
t = tuple(d.iteritems())
unique.add(t)
唯一的现在等于
set([(('a', 3222), ('b', 1234)), (('a', 123), ('b', 1234))])
要找回字典:
[dict(x) for x in unique]
input_list = [{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}, {' a ': 123, ' b ': 1234}]
#输出要求= > [{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}]
#代码
列表= [{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}, {' a ': 123, ' b ': 1234}]
Empty_list = []
表内项目:
if item not in empty_list:
empty_list.append(item)
打印("previous list =",list)
print("Updated list =",empty_list)
#输出
之前的列表= [{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}, {' a ': 123, ' b ': 1234}]
更新列表= [{' a ': 123, ' b ': 1234}, {' a ': 3222, ' b ': 1234}]