python字典中怎么用函数实现相同key合并
时间: 2023-12-24 08:04:21 浏览: 70
python 字典操作提取key,value的方法
可以使用Python中的`defaultdict`或者`setdefault`方法来合并具有相同键的值。下面是两种实现方式的示例代码。
方式一:使用defaultdict
```
from collections import defaultdict
def merge_dict(dicts):
result = defaultdict(list)
for d in dicts:
for key, value in d.items():
result[key].append(value)
return result
```
`merge_dict`函数接受一个字典列表作为参数,并返回一个合并了相同键的值的`defaultdict`对象。可以像下面这样使用该函数:
```
dicts = [{'a': 1, 'b': 2}, {'a': 3, 'c': 4}, {'b': 5, 'd': 6}]
merged_dict = merge_dict(dicts)
print(merged_dict)
```
输出结果:
```
defaultdict(<class 'list'>, {'a': [1, 3], 'b': [2, 5], 'c': [4], 'd': [6]})
```
方式二:使用setdefault方法
```
def merge_dict(dicts):
result = {}
for d in dicts:
for key, value in d.items():
result.setdefault(key, []).append(value)
return result
```
`merge_dict`函数接受一个字典列表作为参数,并返回一个合并了相同键的值的字典对象。可以像下面这样使用该函数:
```
dicts = [{'a': 1, 'b': 2}, {'a': 3, 'c': 4}, {'b': 5, 'd': 6}]
merged_dict = merge_dict(dicts)
print(merged_dict)
```
输出结果:
```
{'a': [1, 3], 'b': [2, 5], 'c': [4], 'd': [6]}
```
阅读全文