Python列表去重:基于字段的去重方法
使用Python的set()函数可以对list对象集合进行去重。但是set()函数只能对不可变的对象进行去重,所以需要使用lambda函数来指定比较的字段。
下面是一个示例代码:
data = [
{'id': 1, 'name': 'Alice'},
{'id': 2, 'name': 'Bob'},
{'id': 1, 'name': 'Alice'},
{'id': 3, 'name': 'Charlie'},
{'id': 2, 'name': 'Bob'}
]
# 根据'id'字段进行去重
unique_data = list(set((item['id'], item['name']) for item in data))
unique_data = [{'id': item[0], 'name': item[1]} for item in unique_data]
print(unique_data)
输出结果为:
[{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Charlie'}]
通过lambda函数指定比较的字段,在set()函数中进行去重,然后再将结果转换回list对象集合。
原文地址: https://www.cveoy.top/t/topic/bm4q 著作权归作者所有。请勿转载和采集!