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

如何在嵌套列表中找出最后元素最大的子列表?

获取嵌套列表中最后一个元素最大的子列表方法

方法一:用Python内置max()函数(最简洁)

直接利用max()函数的key参数指定比较规则,把每个子列表的最后一个元素作为排序依据,一行代码就能搞定:

data = [[2016, 'May', 16.9],
        [2016, 'April', 17.5],
        [2016, 'March', 17.8],
        [2016, 'February', 18.6],
        [2016, 'January', 18.8],
        [2015, 'December', 19.1],
        [2015, 'November', 19.2],
        [2015, 'October', 20.0],
        [2015, 'September', 20.6],
        [2015, 'August', 21.2],
        [2015, 'July', 21.6],
        [2015, 'June', 21.3],
        [2015, 'May', 21.5],
        [2015, 'April', 21.6],
        [2015, 'March', 22.1]]

max_sublist = max(data, key=lambda x: x[-1])
print(max_sublist)  # 输出: [2015, 'March', 22.1]

这里lambda x: x[-1]是匿名函数,作用是提取每个子列表的最后一个元素作为比较的“键”,max()会基于这个键找出对应的最大子列表。

方法二:手动遍历查找(适合理解底层逻辑)

如果想自己实现遍历比较的逻辑,可以这样写:

max_sublist = data[0]
for sublist in data[1:]:
    if sublist[-1] > max_sublist[-1]:
        max_sublist = sublist
print(max_sublist)  # 输出: [2015, 'March', 22.1]

思路是先把第一个子列表当作初始最大值,然后逐个遍历后续子列表,只要当前子列表的最后一个元素比记录的最大值大,就更新最大值,直到遍历完所有元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:15:31