我写了这段代码,需要生成一个矩阵并保存。但是,在分配矩阵值时,它显示“KeyError: 0”!!任何人都知道是什么原因?谢谢import numpy as npl=5; x=0; z=5; y=np.arange(0,5,0.5)positions = { (i,j):0 for i in range(l) for j in range(2)}for i in range(l): positions[i][0]=x positions[i][1]=y[i] positions[i][2]=z
3 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
这就是你构造密钥的方式,它应该是一个tuple而不是array类似的东西
import numpy as np
l=5; x=0; z=5; y=np.arange(0,5,0.5)
positions = { (i,j):0 for i in range(l) for j in range(2)}
for i in range(l):
positions[(i, 0)] = x
positions[(i, 1)] = y[i]
positions[(i, 2)] = z
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
我不确定您需要的矩阵形状是什么,但假设如下:
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
然后代码:
import numpy as np
l=5; x=0; z=5; y=np.arange(0,5,0.5)
positions = [[0 for j in range(3)] for i in range(l)]
print(positions)
for i in range(l):
positions[i][0]=x
positions[i][1]=y[i]
positions[i][2]=z
添加回答
举报
0/150
提交
取消