python - 如何根据数值对嵌套列表进行排序?

标签 python list

我有一个嵌套列表,如下所示:

raw =  
[[(8, 0.44880571384598744), (17, 0.0403732344197908), 
(13, 0.03796821181062157), (1, 0.03777621092166489), 
(3, 0.02907007584458954), (5, 0.027577126778171947)], 
[(6, 0.24885153810452418), (13, 0.11945937235381485), 
(1, 0.07967490411502279), (7, 0.059837943219436064), 
(11, 0.054917316390175455), (3, 0.05439173103552319), 
(12, 0.042902668032641526), (2, 0.04067120278932331)]]

我想根据每个子列表的索引 [0] 处的 int 对嵌套列表进行排序。

但是当我尝试这样做时:

sortraw = []
for line in raw:
    k = sorted(line[0])
    sortraw.append(k)

列表按每个子列表的浮点值排序,嵌套列表消失。

我想要的结果是这样的:

[[(1, 0.03777621092166489), (3, 0.02907007584458954), 
(5, 0.027577126778171947), (8, 0.44880571384598744),
(13, 0.03796821181062157), (17, 0.0403732344197908)], 
[(1, 0.07967490411502279), (2, 0.04067120278932331), 
(3, 0.05439173103552319), (6, 0.24885153810452418),
(7, 0.059837943219436064), (11, 0.054917316390175455),  
(12, 0.042902668032641526), (13, 0.11945937235381485)]]

我该怎么做?

最佳答案

raw = [[(8, 0.44880571384598744), (17, 0.0403732344197908), 
... (13, 0.03796821181062157), (1, 0.03777621092166489), 
... (3, 0.02907007584458954), (5, 0.027577126778171947)], 
... [(6, 0.24885153810452418), (13, 0.11945937235381485), 
... (1, 0.07967490411502279), (7, 0.059837943219436064), 
... (11, 0.054917316390175455), (3, 0.05439173103552319), 
... (12, 0.042902668032641526), (2, 0.04067120278932331)]]
>>> [sorted(sublist) for sublist in raw]
[[(1, 0.03777621092166489), (3, 0.02907007584458954), (5, 0.027577126778171947), (8, 0.44880571384598744), (13, 0.03796821181062157), (17, 0.0403732344197908)], [(1, 0.07967490411502279), (2, 0.04067120278932331), (3, 0.05439173103552319), (6, 0.24885153810452418), (7, 0.059837943219436064), (11, 0.054917316390175455), (12, 0.042902668032641526), (13, 0.11945937235381485)]]

或者就地进行:

for sublist in raw: sublist.sort()

关于python - 如何根据数值对嵌套列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60430854/

相关文章:

python - 抓取网页的策略,最大限度地收集信息

python - 如何删除末尾带有不同数字的字符串

r - 创建数据框列表,显示嵌套模型列表中的 AICc 值

python - 在不使用文本文件的情况下计算 python 中的行数

python - 'yield' 关键字的文档字符串标记

python - 列出列表中每个列表中的特定位置(python)

python - 需要一种方法将变量从 User 类传递到 Locust 中的 TaskSet

c++ - 如何遍历嵌套 vector ?

r - 根据 R 中的列表长度动态创建嵌套的 FOR 循环

python - 将更改应用于数组中的元素