科技匠|天下武功,唯快不破「快速字典排序」

问题:【科技匠|天下武功,唯快不破「快速字典排序」】假如你遇到以下的情形,有一张以json格式存在的学生成绩列表(score_list) 的
需要按照成绩从高到低排列.
[{"name": "张全蛋","score": 78},{"name": "李子柒","score": 66},{"name": "李永乐","score": 98},{"name": "麦小登","score": 88}]解决方法:import jsonscores = json.loads(score_list)result = sorted(scores,key=lambda x: x['score'],reverse=True)print(json.dumps(result,indent=4))运行结果:fang[{ 'name': '李永乐', 'score': 98}, { 'name': '麦小登', 'score': 88}, { 'name': '张全蛋', 'score': 78}, { 'name': '李子柒', 'score': 66}]
科技匠|天下武功,唯快不破「快速字典排序」小贴士:sorted 语法:
sorted(iterable, key=None, reverse=False)参数说明:

  • iterable -- 可迭代对象 。
  • key -- 主要是用来进行比较的元素 , 只有一个参数 , 具体的函数的参数就是取自于可迭代对象中 , 指定可迭代对象中的一个元素来进行排序 。
  • reverse -- 排序规则 , reverse = True 降序,reverse = False 升序(默认)
sort 与 sorted 区别:
sort 是应用在 list 上的方法 , sorted 可以对所有可迭代的对象进行排序操作 。
list 的 sort 方法返回的是对已经存在的列表进行操作 , 而内建函数 sorted 方法返回的是一个新的 list , 而不是在原来的基础上进行的操作 。