You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何对嵌套列表的每个子列表进行升序排序?

如何对嵌套列表的每个子列表进行升序排序?

你需要对嵌套列表的每个子列表做升序排序,现有代码、当前输出与期望输出如下:

现有代码

J=[[10, 4, 7], [10, 4],[1,9,8]]
for i in range(0,len(J)):
    J[0].sort()

当前输出

[[4, 7, 10], [10, 4], [1, 9, 8]]

期望输出

[[4, 7, 10], [4, 10], [1, 8, 9]]

问题原因

你的循环逻辑存在错误:循环过程中始终只对J[0](第一个子列表)执行排序操作,完全没有处理后续的子列表,因此只有第一个子列表是排好序的。

修改方案

方案1:修正循环索引

直接在循环中使用变量i作为子列表的索引,遍历所有子列表并执行排序:

J=[[10, 4, 7], [10, 4],[1,9,8]]
for i in range(0,len(J)):
    J[i].sort()

方案2:直接遍历子列表(更简洁)

跳过索引,直接遍历嵌套列表中的每个子列表,对其执行排序:

J=[[10, 4, 7], [10, 4],[1,9,8]]
for sublist in J:
    sublist.sort()

以上两种方式都会原地修改原列表J,执行后J就会变成你想要的期望输出。

方案3:生成新列表(不修改原列表)

如果不想改动原列表J,可以使用列表推导式结合sorted()函数生成一个新的排序后的列表:

J=[[10, 4, 7], [10, 4],[1,9,8]]
sorted_J = [sorted(sublist) for sublist in J]

sorted()函数会返回一个新的排好序的子列表,不会对原列表J造成任何修改,最终sorted_J即为期望输出。

内容的提问来源于stack exchange,提问作者user19657580

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:37:01