科技匠|天下武功,唯快不破「快速字典排序」
问题:【科技匠|天下武功,唯快不破「快速字典排序」】假如你遇到以下的情形,有一张以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 是应用在 list 上的方法 , sorted 可以对所有可迭代的对象进行排序操作 。
list 的 sort 方法返回的是对已经存在的列表进行操作 , 而内建函数 sorted 方法返回的是一个新的 list , 而不是在原来的基础上进行的操作 。
- 所持股份|万兴科技:公司控股股东、实际控制人吴太兵质押150万股
- 发布公告|数量过半!博创科技:天通股份累计减持约150万股
- 英雄科技聊数码|蔡崇信有实力买下篮网,那身价3200亿的马云,能买下几支NBA球队
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 月影浓|吴亦凡机械造型走秀 垫肩披风搭银框眼镜科技感足
- 中国历史发展过程|中国历史发展过程.中国的科技史界过去半个多世纪
- 天津|桂发祥:不再持有昆汀科技股份
- 消费|减持!天通股份:减持博创科技约32万股
- 处罚|老周侃股:吉鑫科技大股东应补偿踩雷投资者
- 华中科技大学|杯具!超本科线95分,本科有路不走,却梦幻般碰瓷,撞开专科的门