Python list 中的字段,想根据 value 中的一个 key 排序,如下代码,有什么优雅的写法么

2020-12-04 17:52:38 +08:00
 dwadewyp

rd = [{100: {"id": 1, "name": "wade", "code": "abc", "is_analysis": 1}}, {101: {"id": 2, "name": "lebron", "code": "abc", "is_analysis": 2}}, {102: {"id": 3, "name": "cp3", "code": "abc", "is_analysis": 0}}] 根据 is_analysis 来排序,有什么优雅的写法么

2309 次点击
所在节点    Python
9 条回复
woostundy
2020-12-04 18:01:30 +08:00
sorted(rd, key=lambda x:x[is_analysis])
lIlIlIlI
2020-12-04 18:01:44 +08:00
如果你保证 dict 只有一个 key 的话
rd.sort(key=lambda x:x.values()[0]['is_analysis'])
snachx
2020-12-04 18:02:14 +08:00
rd.sort(key=lambda item: list(item.values())[0]['is_analysis'])
wuwukai007
2020-12-04 21:51:35 +08:00
一楼明显不对🙄
hengstchon
2020-12-04 22:21:02 +08:00
我是蜻蜓队长,我宣布 1 楼和 2 楼不对,3 楼正确。
fasionchan
2020-12-05 13:04:25 +08:00
或许花点时间,停下来思考一下,这样的数据结构设计是否合理,会有更好的想法🤔
l4ever
2020-12-05 15:36:07 +08:00
这样的结构简直莫名其妙
noparking188
2020-12-05 20:28:07 +08:00
兄弟,这么复杂的字典数据上 dataclasses 叭
shm7
2020-12-07 18:35:41 +08:00
以后可能会有问 print string 的写法的了 % {} 还是 fstring 。坐等

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/732211

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX