创建一个列表,里面包含五个学生的信息,每名同学信息用字典表示,学号,姓名,成绩(语文,数学,英语)。要求:按照英语成绩由小到大排列
时间: 2024-01-03 20:03:27 浏览: 63
定义一个包含学生信息(学号,姓名,成绩)的顺序表
好的,下面是Python的实现代码:
```python
students = [
{'id': '001', 'name': 'Tom', 'score': {'chinese': 90, 'math': 80, 'english': 70}},
{'id': '002', 'name': 'Jerry', 'score': {'chinese': 85, 'math': 70, 'english': 80}},
{'id': '003', 'name': 'Alice', 'score': {'chinese': 80, 'math': 90, 'english': 75}},
{'id': '004', 'name': 'Bob', 'score': {'chinese': 75, 'math': 85, 'english': 90}},
{'id': '005', 'name': 'Lucy', 'score': {'chinese': 70, 'math': 95, 'english': 85}}
]
students_sorted = sorted(students, key=lambda x: x['score']['english'])
for student in students_sorted:
print(student)
```
首先,我们创建一个包含五个学生信息的列表`students`,每个学生信息由学号、姓名和成绩(语文、数学和英语)组成,其中成绩用字典表示。
然后,我们使用`sorted`函数对`students`列表进行排序,排序的依据是每个学生字典中的英语成绩。这里使用了`lambda`表达式作为排序的key函数。
最后,我们遍历排序后的`students_sorted`列表,打印每个学生的信息。输出结果如下:
```
{'id': '001', 'name': 'Tom', 'score': {'chinese': 90, 'math': 80, 'english': 70}}
{'id': '003', 'name': 'Alice', 'score': {'chinese': 80, 'math': 90, 'english': 75}}
{'id': '005', 'name': 'Lucy', 'score': {'chinese': 70, 'math': 95, 'english': 85}}
{'id': '002', 'name': 'Jerry', 'score': {'chinese': 85, 'math': 70, 'english': 80}}
{'id': '004', 'name': 'Bob', 'score': {'chinese': 75, 'math': 85, 'english': 90}}
```
阅读全文