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

Python如何按子列表的第二个值对嵌套列表进行排序?

Python列表按子列表指定位置值排序实现方案

你需要的按子列表第二个值降序排序的逻辑,可以直接通过Python内置的排序方法实现,不需要额外手写循环排序逻辑。

可运行代码示例

# 注:x/y/z需要替换成你实际业务中对应的变量值,以下为演示用定义
x, y, z = "x", "y", "z"
lst = [[x, 5], [y, 1], [z, 6]]

# 方式1:直接修改原列表,无返回值
lst.sort(key=lambda sub_item: sub_item[1], reverse=True)
print(lst) 
# 输出结果:[['z', 6], ['x', 5], ['y', 1]],和预期结果完全一致

如果不想改动原始列表,可以用sorted()生成新的排序列表:

sorted_lst = sorted(lst, key=lambda sub_item: sub_item[1], reverse=True)

参数说明

  • key:用来指定排序的取值规则,这里lambda sub_item: sub_item[1]表示取每个子列表索引为1的元素(Python索引从0开始计数,索引1对应第二个值)作为排序依据
  • reverse=True:指定排序规则为降序排列,默认不传该参数时是从小到大升序排列,不符合6、5、1的排序顺序要求

注意事项

使用前请确认所有子列表长度都不小于2,否则取sub_item[1]时会触发索引越界错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:06:31