列表score的元素仍为列表,每个子列表的三个元素分别代表姓名、学号和成绩,请分别按姓名、学号和成绩升序排序输出,按成绩排序时,若成绩相同,再按姓名升序排序。
score = [['Angle', '0121701100106', 99],
['Jack', '0121701100107', 86],
['Tom', '0121701100109', 77],
['Smith', '0121701100111', 100],
['Bob', '0121701100115', 77],
['Lily', '0121701100117', 59]]
score = [['Angle', '0121701100106', 99],
['Jack', '0121701100107', 86],
['Tom', '0121701100109', 77],
['Smith', '0121701100111', 100],
['Bob', '0121701100115', 77],
['Lily', '0121701100117', 59]]
# 按姓名排序
score.sort(key=lambda x: x[0])
print('按姓名排序', score)
# 按学号排序
score.sort(key=lambda x: x[1])
print('按学号排序', score)
# 按成绩排序,若成绩相同,再按姓名升序排序
score.sort(key=lambda x: (x[2], x[0]))
print('按成绩排序', score)
结果如下