字典列表根据相同值进行分组 python
时间: 2023-07-11 21:40:48 浏览: 58
可以使用 `itertools.groupby` 函数来根据相同值进行分组。假设有一个字典列表 `dict_list`,其中每个字典都有一个键为 `key` 的值,可以按照以下方式进行分组:
```python
import itertools
# 假设有以下字典列表
dict_list = [
{'name': 'Alice', 'age': 25, 'key': 'A'},
{'name': 'Bob', 'age': 30, 'key': 'B'},
{'name': 'Charlie', 'age': 35, 'key': 'A'},
{'name': 'Dave', 'age': 40, 'key': 'B'}
]
# 根据 'key' 键值进行分组
grouped_dict_list = []
for key, group in itertools.groupby(dict_list, lambda x: x['key']):
grouped_dict_list.append({'key': key, 'group': list(group)})
```
这样就会得到一个新的字典列表 `grouped_dict_list`,其中每个元素都是一个字典,包括分组的键值和对应的分组列表:
```
[
{'key': 'A', 'group': [{'name': 'Alice', 'age': 25, 'key': 'A'}, {'name': 'Charlie', 'age': 35, 'key': 'A'}]},
{'key': 'B', 'group': [{'name': 'Bob', 'age': 30, 'key': 'B'}, {'name': 'Dave', 'age': 40, 'key': 'B'}]}
]
```