首页 > 解决方案 > 对第二个值为 np.float64 的元组列表进行排序

问题描述

我正在尝试按第二个值对元组列表进行排序,但不知道如何。

这是列表的示例。

[(0, 0.008419530634828806),
 (1, 0.025931516073376813),
 (2, 0.028300978579639452),
 (3, 0.0290595847459555),
 (4, 0.010301903453003166),
 (5, 0.3762918396584051),
 (6, 0.1081064920744848),
 (7, 0.013774706789176786),
 (8, 0.0002836788948967922),
 (9, 0.23690695321179311),
 (10, 0.007678502309668166),
 (11, 0.004393399463184975),
 (12, 0.015535320262138509),
 (13, 0.005949274957664495)]

我知道我可以提取第二列并使用 np.sort() 但我想保持元组格式,以便可以将索引值附加到每个浮点数。有没有办法做到这一点?

标签: pythonlistnumpytuples

解决方案


my_list = [(0, 0.008419530634828806),
 (1, 0.025931516073376813),
 (2, 0.028300978579639452),
 (3, 0.0290595847459555),
 (4, 0.010301903453003166),
 (5, 0.3762918396584051),
 (6, 0.1081064920744848),
 (7, 0.013774706789176786),
 (8, 0.0002836788948967922),
 (9, 0.23690695321179311),
 (10, 0.007678502309668166),
 (11, 0.004393399463184975),
 (12, 0.015535320262138509),
 (13, 0.005949274957664495)]

sorted_list = sorted(my_list,key=lambda x:x[1])
print(sorted_list)

推荐阅读