【发布时间】:2018-09-20 06:57:35
【问题描述】:
我有一个存储在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.}]
dicts 的值是打印良好的对象(始终是单个对象),具有“利用率”属性;这些是打印中的百分比值。
我希望列表按利用率值排序,但我很难找出如何以 Python 方式访问每个 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 是访问循环内字典的值所必需的 - 我该怎么做?
【问题讨论】:
-
这不是一个有效的 Python
dict开始。您能否发布您想要排序的实际字典结构,包括utilisation值? -
@zwer 他可能只是
printed 它并且他们的对象以这种方式实现__repr__...是的,@jake77__repr__应该不漂亮地打印任何东西.应该是__str__这样做... -
...但足以说明这一点,该对象有大约二十个属性。
标签: python python-3.x sorting dictionary