在Python中为矩阵分配值

时间:2018-12-25 14:32:56

标签: python matrix variable-assignment

我已经编写了这段代码,需要生成一个矩阵并将其保存。但是,在分配矩阵值时,它会显示“ KeyError:0”!有人知道原因是什么吗?谢谢

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

2 个答案:

答案 0 :(得分:0)

这是密钥的结构方式,应该是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

答案 1 :(得分:0)

我不确定您需要的矩阵形状是什么,但是假设类似以下内容:

[[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