Присвоить значения матрице в Python - PullRequest
0 голосов
/ 25 декабря 2018

Я написал этот кусок кода и мне нужно сгенерировать матрицу и сохранить ее.Но при назначении значений матрицы выдается «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 голосов
/ 25 декабря 2018

Я не уверен, какая форма матрицы вам нужна, но я предполагаю что-то вроде:

[[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 голосов
/ 25 декабря 2018

Это то, как вы структурировали свои ключи, это должно быть 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
...