首页 > 解决方案 > 在python中追加迭代结果

问题描述

我对python很陌生,我正在使用python 3并且在将迭代结果附加到数组时遇到了一些困难,以下是我的代码块:

A = np.random.randn(len(meas),numx)
lengthA = np.linspace(0,len(A[0])-1,num=len(A[0]),dtype=int)
anorm = []
for j in range(0,len(lengthA)):
      x_normed = A/A.max(axis=0)
      anorm[:,j] = A[:,j]*x_normed[j]

是否有必要将新结果附加到空异常?不知何故,代码总是告诉我索引列表必须是整数而不是元组。任何帮助将不胜感激。

标签: pythonnumpy

解决方案


通过语法为索引n处的数组赋值时array[index] = value,方括号内的参数必须是整数。在您的情况下,j是一个整数,但[:,j]尝试引用数组中的多个索引。

for j in range(0,len(lengthA)):
    x_normed = A/A.max(axis=0)
    anorm[j] = A[:,j]*x_normed[j]

顺便说一句,如果您希望 for 循环运行与 中的元素一样多的迭代lengthA,那么您可以简单地执行以下操作:

for j in lengthA:
    do stuff

推荐阅读