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

Python如何获取索引二维列表中第二个元素为最小值的子列表

实现方法

要获取二维列表中第二个位置值为最小值的元素对,直接使用Python内置min()函数,通过key参数指定比较维度即可,无需手动编写遍历比对逻辑。

针对你给出的示例,代码如下:

# 原始列表
L = [[0, 4],[10, 2],[20, 1],[30, 2]]
# 按每个子列表索引为1的位置(即第二个元素)做比较,取最小值对应的原元素
min_pair = min(L, key=lambda sub_list: sub_list[1])

print(min_pair)

运行后输出结果为[20, 1],和你预期的结果一致。

参数说明

  • min()函数默认直接比较传入序列的元素本身,传入key参数后,会先对序列中每个元素执行key指定的取值逻辑,用取到的值做大小比较,最终返回序列里对应的原始元素,不是比较用的中间值。
  • 示例里的lambda sub_list: sub_list[1]是匿名函数,作用是对每个子列表,取它索引为1的位置的值(也就是你说的y值)作为比较依据。
  • 如果列表里存在多个y值同为最小值的元素对,这个写法会返回第一个出现的符合条件的元素,和min()函数默认取首个最小值的逻辑一致。

如果你不想写匿名函数,也可以导入标准库operator模块的itemgetter实现相同效果,写法更简洁:

from operator import itemgetter
L = [[0, 4],[10, 2],[20, 1],[30, 2]]
min_pair = min(L, key=itemgetter(1))
print(min_pair) # 输出同样为 [20, 1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 21:12:12