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

Numpy多维数组索引报错求助:索引元素时出现错误

解决Numpy数组索引越界问题

嘿,我来帮你搞定这个索引错误的问题!先看你创建数组的代码:

import numpy as np
a = np.zeros([10,6,1,1], dtype=np.float32)

这个数组的形状是(10, 6, 1, 1),Numpy的数组索引是从0开始计数的,每个维度的有效索引范围是0到「维度长度-1」。

你执行print(a[2,3,1,1])时出错,核心原因是后两个维度的索引越界了:

  • 第一维度长度为10,有效索引是0-9,2是合法的
  • 第二维度长度为6,有效索引是0-5,3是合法的
  • 第三维度长度只有1,有效索引只能是0,你用1就超出范围了
  • 第四维度同理,长度1,有效索引也只有0

所以正确的索引写法应该是这样:

print(a[2,3,0,0])

另外,因为后两个维度的长度都是1,你还可以简化索引,Numpy会自动适配维度:

# 以下几种写法都能得到正确结果
print(a[2,3])
print(a[2,3,0])
print(a[2,3,0,0])

这样就不会再触发索引错误啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:37:34