要按照多个条件进行排序,可以使用Python的sorted()函数和lambda函数来实现。
以下是一个示例代码,演示了如何按照多个条件对一个列表进行排序:
# 定义一个列表
students = [
{'name': 'Tom', 'age': 20, 'grade': 90},
{'name': 'Jerry', 'age': 22, 'grade': 95},
{'name': 'Alice', 'age': 20, 'grade': 85},
{'name': 'Bob', 'age': 21, 'grade': 88}
]
# 按照年龄和成绩进行排序
sorted_students = sorted(students, key=lambda x: (x['age'], x['grade']))
# 打印排序后的结果
for student in sorted_students:
print(student)
输出结果:
{'name': 'Tom', 'age': 20, 'grade': 90}
{'name': 'Alice', 'age': 20, 'grade': 85}
{'name': 'Bob', 'age': 21, 'grade': 88}
{'name': 'Jerry', 'age': 22, 'grade': 95}
在上面的示例中,我们使用lambda函数作为key参数传递给sorted()函数。lambda函数定义了按照年龄和成绩进行排序的规则。首先按照年龄排序,如果年龄相同,则按照成绩排序。sorted()函数将列表按照这个规则进行排序,并返回排序后的结果。
上一篇:按照多个条件进行汇总和投影