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

Python列表赋值报错求助:IndexError索引越界问题

问题分析与解决

错误原因

你定义的J是空列表,列表的索引赋值要求对应位置已存在元素,空列表没有任何可用索引,所以执行J[t]=[[1,3,5]]时会抛出IndexError: list assignment index out of range。

另外你的循环逻辑也不符合期望输出:range(0,1)仅循环1次(t=0),但你试图给J[t+1](即J[1])赋值,同样会因索引不存在报错;后续的append操作还会生成嵌套结构,和你要的结果完全不符。

修正后的代码

要得到期望输出[[1,3,5],[1,3]],根本不需要循环,直接构造列表或用append逐步添加即可:

方案1:直接初始化列表

J = [[1,3,5], [1,3]]
print(J)

方案2:用append逐步添加元素

J = []
J.append([1,3,5])
J.append([1,3])
print(J)

如果一定要保留循环(非必要)

若坚持用循环实现,需调整逻辑确保索引合法:

J = []
for t in range(2):
    J.append([1,3,5] if t == 0 else [1,3])
print(J)

验证输出

以上代码运行后均会输出:

[[1, 3, 5], [1, 3]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 05:42:01