我有一个这样存储在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的值是具有属性'utilisation'的精美打印对象(总是单个对象);这些是打印中的百分比值。
我想按利用率值对列表进行排序,但是我很难找出如何以pythonic方式访问每个dict的值。
输出应为
[{'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.},
{'Pad': FAILED! 69% Pad in BF1, serf = 12.06 ≤ 17.4.}]
我的第一次尝试是类似
sorted(part_results, key=lambda x: part_results)
这显然不是我想要的:它将按dict键排序。我知道,不需要排序键即可实现此目的,但是lambda是访问循环中dict的值所必需的-我该怎么做?
答案 0 :(得分:1)
鉴于每个dict
中始终有一个键/值对,您可以尝试:
sorted(part_results, key=lambda d: list(d.values())[0].utilisation)
这将根据各自第一个(也是唯一)值的utilisation
属性对字典列表进行排序。