创建一个列表,里面包含5名同学的信息,每一名同学的信息用字典表示+ 学号,姓名,成绩(语文,数学,英语)* 要求,按照英语成绩由小到大的顺序输出
时间: 2024-03-20 08:44:32 浏览: 277
好的,以下是实现你要求的Python代码:
```python
students = [
{"学号": "001", "姓名": "张三", "成绩": {"语文": 80, "数学": 90, "英语": 70}},
{"学号": "002", "姓名": "李四", "成绩": {"语文": 85, "数学": 70, "英语": 80}},
{"学号": "003", "姓名": "王五", "成绩": {"语文": 90, "数学": 75, "英语": 65}},
{"学号": "004", "姓名": "赵六", "成绩": {"语文": 70, "数学": 80, "英语": 90}},
{"学号": "005", "姓名": "刘七", "成绩": {"语文": 75, "数学": 85, "英语": 75}}
]
# 按照英语成绩由小到大排序
students_sorted = sorted(students, key=lambda x: x["成绩"]["英语"])
# 输出排序结果
for student in students_sorted:
print(student)
```
输出结果:
```
{'学号': '003', '姓名': '王五', '成绩': {'语文': 90, '数学': 75, '英语': 65}}
{'学号': '001', '姓名': '张三', '成绩': {'语文': 80, '数学': 90, '英语': 70}}
{'学号': '005', '姓名': '刘七', '成绩': {'语文': 75, '数学': 85, '英语': 75}}
{'学号': '002', '姓名': '李四', '成绩': {'语文': 85, '数学': 70, '英语': 80}}
{'学号': '004', '姓名': '赵六', '成绩': {'语文': 70, '数学': 80, '英语': 90}}
```
其中,students是包含5名同学信息的列表,每个同学信息用一个字典表示,包括学号、姓名和成绩(语文、数学、英语)。我们使用sorted函数对students列表进行排序,key参数指定按照学生字典中的英语成绩进行排序。最后,我们按照排序结果输出每个同学的信息。
阅读全文