如何更正此 python 代码(逐行填充矩阵)?
How to correct this python code (fill up a matrix row by row)?
我想使用 A 中的元素填充名为 allsamples 的矩阵。我编写了以下代码,但是,我收到错误消息:“allsamples[i,:]=[a1, a2, a3, a4]
IndexError:索引 0 超出了大小为 0 的轴 0 的范围。如何更正以下代码以使其工作?谢谢!
import numpy as np
A=[2, 4, 9, 10]
lA=len(A)
i=0
allsamples=np.zeros((lA^(lA),lA))
for a1 in A:
for a2 in A:
for a3 in A:
for a4 in A:
allsamples[i,:]=[a1, a2, a3, a4]
i=i+1
print(allsamples)
假设其余代码是正确的,错误就在这里(lA^(lA),lA)
。 ^
是按位异或 (https://wiki.python.org/moin/BitwiseOperators)。修改为(lA**lA, lA)
,运行无误
所有样本的形状都是 (0,4)。所以这可能是问题所在。 lA^(lA) 给出零。
我想使用 A 中的元素填充名为 allsamples 的矩阵。我编写了以下代码,但是,我收到错误消息:“allsamples[i,:]=[a1, a2, a3, a4] IndexError:索引 0 超出了大小为 0 的轴 0 的范围。如何更正以下代码以使其工作?谢谢!
import numpy as np
A=[2, 4, 9, 10]
lA=len(A)
i=0
allsamples=np.zeros((lA^(lA),lA))
for a1 in A:
for a2 in A:
for a3 in A:
for a4 in A:
allsamples[i,:]=[a1, a2, a3, a4]
i=i+1
print(allsamples)
假设其余代码是正确的,错误就在这里(lA^(lA),lA)
。 ^
是按位异或 (https://wiki.python.org/moin/BitwiseOperators)。修改为(lA**lA, lA)
,运行无误
所有样本的形状都是 (0,4)。所以这可能是问题所在。 lA^(lA) 给出零。