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

Numpy用for循环构建矩阵数组时报不可下标错误如何解决

报错解决方法

错误原因

该报错由np.array的调用语法错误导致:np.array是NumPy的内置数组构造函数,属于可调用对象,需要使用圆括号传递参数,你代码中使用方括号[]对np.array执行下标访问操作,不符合语法规范,因此触发'builtin_function_or_method' object is not subscriptable报错。

修正代码

A = np.column_stack((design[:,2],design[:,3]))
Alist = []

for i in range(0,samples):
    # 将np.array后的方括号替换为圆括号,包裹需要转换为数组的二维列表
    AmatExtra = np.array([[1, A[i][0], A[i][1],0,0], [1, -A[i][0], A[i][1], 0,0], [1, 0, -A[i][1], 1,0],[1, 0, -A[i][1], 0,1],[0, 0, 0, 0,0],[0, 0, 0, 0,0]])
    Alist.append(AmatExtra)

额外注意事项

  • 运行代码前请确保变量samples已提前定义,且取值不超过A的总行数,避免出现数组下标越界报错
  • 若有数据精度要求,可在np.array的参数中添加dtype参数指定数组类型,例如np.array([...], dtype=np.float64)

内容的提问来源于stack exchange,提问作者Pedro Brandão

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:00