以下是一个示例代码,可以按照总分的升序对学生列表进行排序:
# 定义一个学生类
class Student:
def __init__(self, name, score1, score2):
self.name = name
self.score1 = score1
self.score2 = score2
@property
def total_score(self):
return self.score1 + self.score2
# 定义学生列表
students = [
Student('张三', 80, 90),
Student('李四', 70, 85),
Student('王五', 90, 95)
]
# 按总分升序排序
sorted_students = sorted(students, key=lambda student: student.total_score)
# 输出排序结果
for student in sorted_students:
print(student.name, student.total_score)
运行以上代码,将得到以下输出:
李四 155
张三 170
王五 185
以上代码通过定义一个学生类,其中包含姓名、两个科目的成绩,以及计算总分的属性。然后,通过使用sorted()
函数对学生列表进行排序,使用lambda
表达式指定排序的关键字为学生的总分。最后,遍历排序后的学生列表,输出排序结果。
上一篇:按ZonedDateTime搜索
下一篇:按总和分组