【Python】排序 按照list中的字典的某key排序

参考

 

if __name__ == '__main__':
    s = [
        {"no": 28, "score": 90},
        {"no": 25, "score": 90},
        {"no": 1, "score": 100},
        {"no": 2, "score": 20},
    ]

    # 单级排序,仅按照score排序
    new_1 = sorted(s, key=lambda e: e.__getitem__('score'))
    print(new_1)  # [{'no': 2, 'score': 20}, {'no': 28, 'score': 90}, {'no': 25, 'score': 90}, {'no': 1, 'score': 100}]


    # 多级排序,先按照score,再按照no排序
    new_2 = sorted(s, key=lambda e: (e.__getitem__('score'), e.__getitem__('no')))
    print(new_2)  # [{'no': 2, 'score': 20}, {'no': 25, 'score': 90}, {'no': 28, 'score': 90}, {'no': 1, 'score': 100}]

 

posted @ 2021-07-12 06:14  淡怀  阅读(120)  评论(0)    收藏  举报