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

如何从嵌套列表中获取每个子列表的第一个元素?

如何提取嵌套列表中每个子列表的第一个元素?

没问题!要从你的嵌套列表[[1,2,4],[5,6,7,8],[7,8,9]]中获取每个子列表的第一个元素,得到[1,5,7],有几种简洁实用的方法,我给你一一说明:

1. 列表推导式(最推荐)

这是Python里最直观也最常用的写法,一行代码就能搞定:

nested_list = [[1,2,4],[5,6,7,8],[7,8,9]]
first_elements = [sublist[0] for sublist in nested_list]
print(first_elements)  # 输出: [1, 5, 7]

它的逻辑很简单:遍历嵌套列表里的每个子列表,直接取每个子列表索引为0的元素(也就是第一个元素),自动生成结果列表。

2. 函数式风格:map + lambda

如果你更喜欢函数式编程的写法,可以用map配合匿名函数lambda:

nested_list = [[1,2,4],[5,6,7,8],[7,8,9]]
first_elements = list(map(lambda sublist: sublist[0], nested_list))
print(first_elements)  # 输出: [1, 5, 7]

map会把lambda函数应用到嵌套列表的每个子列表上,最后用list()把结果转换成列表。

3. 基础循环遍历(适合新手理解)

如果想更清晰地看到每一步的逻辑,用普通的for循环也完全没问题:

nested_list = [[1,2,4],[5,6,7,8],[7,8,9]]
first_elements = []
for sublist in nested_list:
    first_elements.append(sublist[0])
print(first_elements)  # 输出: [1, 5, 7]

先初始化一个空列表,然后逐个遍历子列表,把每个子列表的第一个元素添加到结果列表里。

额外提示:处理可能为空的子列表

如果你的嵌套列表里有可能存在空的子列表(比如[[1,2], [], [3]]),直接取sublist[0]会抛出IndexError。这时候可以加个判断跳过空列表:

nested_list = [[1,2,4], [], [5,6,7,8], [7,8,9]]
first_elements = [sublist[0] for sublist in nested_list if sublist]
print(first_elements)  # 输出: [1, 5, 7]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:08:50