假设有一个存储着学生信息的列表,包含学生姓名、年龄和成绩。现在要按照成绩从高到低排序,但只需要年龄大于等于18岁的学生信息。
可以使用Python的内置函数sorted()来实现。首先,使用列表解析式过滤出符合条件的学生信息,再利用sorted()函数按照成绩从高到低排序。
示例代码如下:
students = [ {'name': 'Tom', 'age': 16, 'score': 80}, {'name': 'Lucy', 'age': 18, 'score': 90}, {'name': 'Mike', 'age': 20, 'score': 85}, {'name': 'Alice', 'age': 17, 'score': 95}, {'name': 'Bob', 'age': 19, 'score': 88}, {'name': 'Peter', 'age': 16, 'score': 89} ]
sorted_students = sorted([s for s in students if s['age'] >= 18], key=lambda s: s['score'], reverse=True)
print(sorted_students)
输出结果为:
[{'name': 'Alice', 'age': 17, 'score': 95}, {'name': 'Lucy', 'age': 18, 'score': 90}, {'name': 'Mike', 'age': 20, 'score': 85}, {'name': 'Bob', 'age': 19, 'score': 88}]
上一篇:按照特定优先级合并数据集
下一篇:按照特定月份分组日期