猿问

在 Python 中为矩阵赋值

我写了这段代码,需要生成一个矩阵并保存。但是,在分配矩阵值时,它显示“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


泛舟湖上清波郎朗
浏览 355回答 3
3回答

MMTTMM

这就是你构造密钥的方式,它应该是一个tuple而不是array类似的东西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

素胚勾勒不出你

我不确定您需要的矩阵形状是什么,但假设如下:[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]然后代码:import numpy as npl=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
随时随地看视频慕课网APP

相关分类

Python
我要回答