对列表内的字典进行排序

geteshi
2022-05-24 / 0 评论 / 17 阅读 / 正在检测是否收录...

降序排序

alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0},
           {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0},
           {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0},
           {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩': 76.0},
           {'学号': 1.0, '姓名': '张三', '科目': '英语', '成绩': 90.0},
           {'学号': 2.0, '姓名': '李四', '科目': '英语', '成绩': 91.0},
           {'学号': 1.0, '姓名': '张三', '科目': '语文', '成绩': 88.0},
           {'学号': 3.0, '姓名': '王五', '科目': '语文', '成绩': 88.0},
           {'学号': 2.0, '姓名': '李四', '科目': '语文', '成绩': 89.0}]
# 升序排序将reverse去掉即可
alldate.sort(key=lambda x: (x['成绩']), reverse=True)
# alldate.reverse()
print(alldate)

多条件排序

alldate.sort(key=lambda x: (x['成绩'], x['科目']))  # 按照科目和成绩进行双排序
0

评论 (0)

取消