如何合并两个有部分key不同的defaultdict(list)字典
时间: 2024-05-02 10:20:04 浏览: 183
Python专业技巧: Start using Python defaultdict and Counter in place of dictionary
你可以使用一个循环,遍历第二个字典中的每一项,将其加入第一个字典中。如果某个key在第一个字典中不存在,则新建一个空列表。如果key已经存在,则将第二个字典中对应key的列表中的元素添加到第一个字典中对应key的列表中去。
示例代码:
```python
from collections import defaultdict
def merge_dicts(d1, d2):
result = defaultdict(list)
# 遍历第一个字典,将所有key-value对加入result中
for key, value in d1.items():
result[key].extend(value)
# 遍历第二个字典,将其key-value对加入result中
for key, value in d2.items():
result[key].extend(value)
return result
```
注意,如果两个字典中都有某个key对应的值,那么上面的代码会将两个值合并成一个列表。如果你想要用第二个字典中的值覆盖第一个字典中的值,可以将第一个循环改成使用`d1.get(key, [])`来获取对应key的列表。
阅读全文