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

Python3如何根据二维数组子数组的第二个元素对数组进行排序

Python二维数组按子数组第二个元素排序实现

你可以通过Python内置的排序方法直接实现需求,有两种常用方案:

方案1:sort()原地排序

直接修改原数组,无额外内存开销:

arr = [
    ["some_id", 26, "some_id"],
    ["some_id", 93, "some_id"],
    ["some_id", 58, "some_id"]
]
# key参数指定排序依据为子数组的第二个元素
# *注意Python中索引从0开始计数,因此子数组的第二个元素对应索引为1*
arr.sort(key=lambda item: item[1])
# 此时arr已经是排序完成的结果
print(arr)

方案2:sorted()生成新数组

不会修改原数组,会返回独立的排序后数组,适合需要保留原始数据的场景:

arr = [
    ["some_id", 26, "some_id"],
    ["some_id", 93, "some_id"],
    ["some_id", 58, "some_id"]
]
sorted_arr = sorted(arr, key=lambda item: item[1])
# sorted_arr是排序后的新数组,原arr保持不变
print(sorted_arr)

额外说明

  • 两种方法默认都是升序排序,如需降序可以添加reverse=True参数,示例:arr.sort(key=lambda item: item[1], reverse=True)
  • 如果你后续需要按子数组其他位置的元素排序,修改lambda表达式里的索引值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:06:04