stream根据某俩个list字段去重实例代码
时间: 2023-10-10 14:04:49 浏览: 78
Java实现对两个List快速去重并排序操作示例
5星 · 资源好评率100%
假设有两个列表,分别是list1和list2,其中list1和list2中都包含一个名为“id”的字段,可以按照如下方式去重:
```python
def deduplicate_by_id(list1, list2):
"""
根据id字段去重
"""
# 将list2中的id字段值转化为集合
id_set = set(item['id'] for item in list2)
# 遍历list1,如果id字段值不在id_set中,则将该项添加到结果列表中
result = []
for item in list1:
if item['id'] not in id_set:
result.append(item)
# 将list2中的所有项添加到结果列表中
result.extend(list2)
return result
```
使用示例:
```python
list1 = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Charlie'}]
list2 = [{'id': 2, 'age': 20}, {'id': 4, 'age': 30}]
result = deduplicate_by_id(list1, list2)
print(result)
# 输出:[{'id': 1, 'name': 'Alice'}, {'id': 3, 'name': 'Charlie'}, {'id': 2, 'age': 20}, {'id': 4, 'age': 30}]
```
在上述示例中,将list1和list2根据id字段进行去重,并且保留了所有的字段信息。
阅读全文