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

如何从二维列表中提取所有第二个索引的值并生成新列表/数组?

解决方法

你的代码逻辑完全错误,才会触发这个报错。for i in lst[0][i]里的i在循环启动前根本没定义,而且你遍历的是第一个元素的某个未知位置,这和你要提取所有元素第二个索引值的需求完全不匹配。

正确实现方式:

1. 普通for循环写法

lst2 = []
for elem in lst:
    lst2.append(elem[1])

直接遍历lst里的每一个元素elem,把每个元素的第二个索引值(elem[1])添加到新列表lst2即可。

2. 列表推导式(更简洁高效)

lst2 = [elem[1] for elem in lst]

这是Python里常用的简化写法,和上面的循环逻辑完全一致,代码更紧凑。

3. 转为numpy数组(如果需要数组而非列表)

如果最终需要的是数组类型,可以用numpy处理:

import numpy as np
result_arr = np.array(lst)[:, 1]

[:, 1]表示提取数组中所有行的第二列元素。

额外注意点

你提到lst[1141][1],但你的列表只有1141个元素,Python列表索引从0开始,合法索引范围是0到1140,lst[1141]会触发索引越界错误,记得修正这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:45:52