创建一个列表,里面包含5名同学的信息,每一名同学的信息用字典表示。学号,姓名,成绩(语文,数学,英语)要求:按照英语成绩由小到大的顺序输出)
时间: 2024-03-21 12:38:12 浏览: 52
好的,下面是代码实现:
```python
students = [
{'id': '001', 'name': 'Tom', 'score': {'chinese': 90, 'math': 80, 'english': 70}},
{'id': '002', 'name': 'Jerry', 'score': {'chinese': 80, 'math': 70, 'english': 90}},
{'id': '003', 'name': 'Mike', 'score': {'chinese': 70, 'math': 90, 'english': 80}},
{'id': '004', 'name': 'John', 'score': {'chinese': 85, 'math': 75, 'english': 85}},
{'id': '005', 'name': 'Lucy', 'score': {'chinese': 75, 'math': 85, 'english': 75}},
]
sorted_students = sorted(students, key=lambda x: x['score']['english'])
for student in sorted_students:
print(student)
```
输出结果为:
```
{'id': '005', 'name': 'Lucy', 'score': {'chinese': 75, 'math': 85, 'english': 75}}
{'id': '001', 'name': 'Tom', 'score': {'chinese': 90, 'math': 80, 'english': 70}}
{'id': '003', 'name': 'Mike', 'score': {'chinese': 70, 'math': 90, 'english': 80}}
{'id': '004', 'name': 'John', 'score': {'chinese': 85, 'math': 75, 'english': 85}}
{'id': '002', 'name': 'Jerry', 'score': {'chinese': 80, 'math': 70, 'english': 90}}
```
代码解释:
首先,我们创建了一个包含5名同学信息的列表,每个同学信息用一个字典表示,包含学号、姓名和成绩(语文、数学、英语)三个字段。
接着,我们使用 sorted 函数按照英语成绩由小到大的顺序对学生列表进行排序,排序的依据是每个学生的 `score` 中的 `english` 字段。
最后,我们遍历排好序的学生列表,将每位同学的信息一个一个打印出来。
阅读全文