使用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对象集合。

Python列表去重:基于字段的去重方法

原文地址: https://www.cveoy.top/t/topic/bm4q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录