编写一个函数 merge_dicts_with_list_values(d1, d2),接收两个字典 d1 和 d2,它们的值都 是列表。合并两个字典的键,如果有相同的键,合并其对应的列表。
时间: 2024-10-05 17:05:00 浏览: 33
你可以编写这样一个Python函数,将两个字典的相同键处的列表值合并起来:
```python
def merge_dicts_with_list_values(d1, d2):
merged_dict = dict()
# 遍历字典d1
for key, values in d1.items():
# 如果键已经存在于merged_dict中,合并列表
if key in merged_dict:
merged_dict[key].extend(values)
# 否则,直接添加键值对
else:
merged_dict[key] = values
# 遍历字典d2,同样的处理方法
for key, values in d2.items():
if key in merged_dict:
merged_dict[key].extend(values)
else:
merged_dict[key] = values
return merged_dict
# 示例:
d1 = {'a': [1, 2], 'b': [3, 4]}
d2 = {'b': [5, 6], 'c': [7, 8]}
print(merge_dicts_with_list_values(d1, d2))
# 输出:{'a': [1, 2], 'b': [3, 4, 5, 6], 'c': [7, 8]}
```
这个函数首先创建一个新的空字典`merged_dict`,然后遍历两个输入字典`d1`和`d2`,如果遇到相同的键,则将相应键的列表值合并,最后返回合并后的字典。
阅读全文