python用groupby分组重复呈现
时间: 2023-10-13 21:28:37 浏览: 85
可以使用Python内置的`groupby`函数对列表或者其他可迭代对象进行分组,然后使用循环等方法进行重复呈现。
下面是一个示例代码,假设有一个包含多个人员信息的列表,需要按照性别进行分组并输出每组的人员姓名:
```python
from itertools import groupby
persons = [
{'name': 'Tom', 'gender': 'Male'},
{'name': 'Jerry', 'gender': 'Male'},
{'name': 'Lucy', 'gender': 'Female'},
{'name': 'Lily', 'gender': 'Female'},
{'name': 'Mike', 'gender': 'Male'},
{'name': 'Bob', 'gender': 'Male'}
]
# 先按照 gender 排序
persons.sort(key=lambda x: x['gender'])
# 使用 groupby 进行分组
groups = groupby(persons, key=lambda x: x['gender'])
# 输出每组的人员姓名
for gender, group in groups:
print(f"Gender: {gender}")
for person in group:
print(person['name'])
```
输出结果为:
```
Gender: Male
Tom
Jerry
Mike
Bob
Gender: Female
Lucy
Lily
```
这样就完成了按照性别分组并输出每组人员姓名的任务。
阅读全文