python3根据dict值的属性对字典列表进行排序

2024-09-28 22:24:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个存储在part_results中的字典列表,如下所示:

[{'Pad': FAILED! 69% Pad in BF1, serf = 12.06 ≤ 17.4.}, 
 {'Pipe': FAILED! 196% Pipe in BF1, pmax = 205.38 ≤ f_pipe_ = 104.67 MPa.},
 {'Foot plate': FAILED! 89% Foot plate in BF1, serf = 34.90 ≤ 39.1.}]

dict的值是打印得很好的对象(总是单个对象),具有属性“利用率”;这些是打印中的百分比值。在

我想让列表按利用率值排序,但我很难找出如何以Python式的方式访问每个dict的值。在

输出将是

^{pr2}$

我的第一次尝试是

sorted(part_results, key=lambda x: part_results)

这显然不是我想要的:它将按dict键排序。我知道,不需要排序键来实现这一点,但是lambda是访问循环中dicts值所必需的-我该怎么做呢?在


Tags: 对象in列表排序利用率resultsdictpipe
1条回答
网友
1楼 · 发布于 2024-09-28 22:24:57

假定每个dict中始终有一个键值对,您可以尝试:

sorted(part_results, key=lambda d: list(d.values())[0].utilisation)

这将根据dict的第一个(也是唯一的)值的utilisation属性对dict列表进行排序。在

相关问题 更多 >