从一个list中 按某字段进行分组保存
时间: 2024-03-15 18:46:18 浏览: 20
你可以使用Python中的collections模块中的defaultdict来实现按某字段进行分组保存的功能。
假设你有一个list,其中的元素是字典类型,每个字典中都有一个字段叫做"group",表示该元素属于哪个组。你可以按照这个"group"字段将元素分组保存。
示例代码如下:
```python
from collections import defaultdict
# 假设你有一个list
data = [
{"name": "Alice", "group": "A"},
{"name": "Bob", "group": "A"},
{"name": "Charlie", "group": "B"},
{"name": "David", "group": "C"},
{"name": "Emily", "group": "B"}
]
# 使用defaultdict创建一个字典,键是组名,值是属于该组的元素列表
groups = defaultdict(list)
for item in data:
groups[item["group"]].append(item)
# 输出分组后的结果
for group, items in groups.items():
print("Group:", group)
for item in items:
print(" ", item)
```
输出结果如下:
```
Group: A
{'name': 'Alice', 'group': 'A'}
{'name': 'Bob', 'group': 'A'}
Group: B
{'name': 'Charlie', 'group': 'B'}
{'name': 'Emily', 'group': 'B'}
Group: C
{'name': 'David', 'group': 'C'}
```
这样就可以按照"group"字段将list中的元素分组保存了。