Добавить значения в матрицу питона - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь заполнить значения матрицы aixj, где каждая ячейка будет иметь значения, присвоенные ей [,].

Я пробовал много вещей.Например, первая ячейка, которую я пробовал

F[0][0]=[None,0]

и

F[0][0].append=[None,0]

и

F[0][0].append(None,0)

Однако ячейки все еще [].Я предполагаю, что, должно быть, совершаю глупую ошибку, но, если вы можете, пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Если вы действительно хотите работать с инициализированными встроенными списками, я думаю, вы могли бы использовать это:

F = [[None]*3]*2 # initializes your 2 lines and 3 colomns list, if needed
>> [[None, None, None], [None, None, None]]

F[1] = [0,None,2,3] # fills your second line (embeded list 1)
>> [[None, None, None], [0, None, 2, 3]]

F[0] = [5] # erases and changes your first line (embeded list 0)
>> [[5], [0, None, 2, 3]]

F.append([1,-1,None]) # adds a new list (which will be the embeded list 2)
>> [[5], [0, None, 2, 3], [1, -1, None]]

Учитывая ваш пост, кажется, что он охватывает то, что вы пытаетесь достичь.Имейте в виду, что если вы в основном определяете свой список как F=[[]], у вас будет доступ только к F[0], и для добавления другого встроенного списка вам нужно будет использовать list.append.

0 голосов
/ 16 октября 2018

Есть ли причина не использовать numpy.array в вашем коде?Вы можете инициализировать вашу (i, j) матрицу (скажем, i = 2 и j = 3, например) следующим образом:

import numpy as np
F = np.zeros((2,3)) # initializes the matrix (fill it with 0)

Затем, если вы хотите заполнить, например, ее первую строку (будьте carreful python)индексы начинаются с 0):

F[0,:] = [2,None,6]
>> array([[ 2., nan,  6.],
   [ 0.,  0.,  0.]])

Для скорости всегда лучше правильно инициализировать матрицу, но если вам нужно добавить строку, вы также можете использовать метод yse numpy.append ( numpy.append)):

np.append(F,[[5,-1,3]],axis=0) # axis=0 specifies that you want to add a row
>> array([[ 2., nan,  6.],
   [ 0.,  0.,  0.],
   [ 5., -1.,  3.]])

Для векторов и матриц numpy гораздо удобнее, чем встраивать списки.

...