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

如何对Python嵌套列表中的子列表按指定规则排序,不采用按键对齐方式

问题原因

list.sort()是原地排序方法,仅直接修改调用它的列表本身,返回值为None。如果你代码中试图用列表推导式接收返回值(比如result = [i.sort() for i in arr]),得到的会是全为None的列表,自然不符合预期。

正确实现方案

方案1:直接修改原数组

你写的排序逻辑本身是正确的,直接运行即可得到目标结果:

arr = [[2, 3], [5, 1], [4, 1], [5, 3], [4, 2]]
for i in arr:
    i.sort()
print(arr)
# 输出:[[2, 3], [1, 5], [1, 4], [3, 5], [2, 4]]

方案2:不修改原数组,生成新结果数组

如果需要保留原始数组不变,可以使用内置sorted()函数,它会返回新的排序后列表,不会修改原列表:

arr = [[2, 3], [5, 1], [4, 1], [5, 3], [4, 2]]
I_want_arr = [sorted(sub_list) for sub_list in arr]
print(I_want_arr)
# 输出:[[2, 3], [1, 5], [1, 4], [3, 5], [2, 4]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:45:03