计算students平均分并生成一个新字典
时间: 2024-11-15 20:28:53 浏览: 2
假设有一个名为 "students" 的列表,其中包含学生的成绩字典,如:`[{'name': 'Tom', 'scores': {'math': 90, 'english': 85}}, {'name': 'Jerry', 'scores': {'math': 88, 'english': 92}}]`。要计算每个学生所有科目的平均分,并生成一个新字典,可以按以下步骤操作:
1. 遍历 students 列表。
2. 对于每个学生,获取他们的 scores 字典。
3. 计算每个学科的总分,然后除以科目数得到平均分。
4. 将学生的姓名作为键,平均分为值添加到结果字典中。
以下是实现这一过程的Python代码:
```python
def calculate_average_scores(students):
result = {} # 创建一个空的结果字典
for student in students:
name = student['name']
total_scores = sum(student['scores'].values())
subject_count = len(student['scores'])
average_score = total_scores / subject_count
result[name] = average_score
return result
students_data = [{'name': 'Tom', 'scores': {'math': 90, 'english': 85}}, {'name': 'Jerry', 'scores': {'math': 88, 'english': 92}}]
average_students = calculate_average_scores(students_data)
print(average_students)
```
运行这段代码后,你会得到每个学生各科目的平均分数的新字典:
```python
{'Tom': 87.5, 'Jerry': 90.0}
```
阅读全文