Python 列表去重:如何去除字典中重复的'name'属性
使用 set() 函数对列表进行去重,但是 set() 函数只能对不可变类型进行去重,所以需要将列表中的字典转化为元组,然后再进行去重,最后再将元组转化为字典。
代码如下:
lst = [{'name': '张三', 'age': 20}, {'name': '李四', 'age': 22}, {'name': '张三', 'age': 25}, {'name': '王五', 'age': 21}]
new_lst = []
name_set = set()
for d in lst:
if d['name'] not in name_set:
new_lst.append(d)
name_set.add(d['name'])
new_lst = [tuple(d.items()) for d in new_lst]
new_lst = [dict(t) for t in set(new_lst)]
print(new_lst)
输出结果为:
[{'name': '张三', 'age': 20}, {'name': '李四', 'age': 22}, {'name': '王五', 'age': 21}]
原文地址: https://www.cveoy.top/t/topic/nw5H 著作权归作者所有。请勿转载和采集!