用groupby student实现
时间: 2024-06-08 16:03:51 浏览: 55
C# GroupBy的基本使用教程
使用 groupby(student) 可以按照学生对数据进行分组操作。具体实现如下:
假设有一个包含学生名字和成绩的列表:
```python
grades = [("Alice", 80), ("Bob", 90), ("Charlie", 70), ("Alice", 85), ("Bob", 95)]
```
我们可以使用 groupby() 函数按照学生姓名对成绩进行分组,代码如下:
```python
from itertools import groupby
grades = [("Alice", 80), ("Bob", 90), ("Charlie", 70), ("Alice", 85), ("Bob", 95)]
for student, grades in groupby(grades, key=lambda x: x):
grade_list = [grade for grade in grades]
average_grade = sum(grade_list) / len(grade_list)
print(f"{student}: {grade_list}, 平均成绩:{average_grade}")
```
运行结果如下:
```
Alice: [80, 85], 平均成绩:82.5
Bob: [90, 95], 平均成绩:92.5
Charlie: [70], 平均成绩:70.0
```
以上代码根据学生姓名进行了分组,然后对每个分组计算了平均成绩,并输出了结果。
阅读全文