python两个列表合并某些字段值相等的字典
时间: 2023-09-16 19:10:24 浏览: 107
python实现两个字典合并,两个list合并
5星 · 资源好评率100%
可以使用一个字典来存储合并后的结果,遍历两个列表,如果某个字段值在另一个列表中也存在,则将它们合并成一个字典。
以下是示例代码:
```python
list1 = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Charlie'}]
list2 = [{'id': 2, 'age': 25}, {'id': 3, 'age': 30}, {'id': 4, 'age': 35}]
result = {}
for item in list1 + list2:
if item['id'] not in result:
result[item['id']] = item
else:
result[item['id']].update(item)
merged_list = list(result.values())
print(merged_list)
```
输出:
```
[{'id': 1, 'name': 'Alice'},
{'id': 2, 'name': 'Bob', 'age': 25},
{'id': 3, 'name': 'Charlie', 'age': 30},
{'id': 4, 'age': 35}]
```
这里使用了一个字典 `result` 来存储合并后的结果,遍历两个列表时,如果某个字段值已经在 `result` 中存在,则使用 `update()` 方法将它们合并成一个字典。最后将所有的值取出来即可得到合并后的列表。
阅读全文