簡體   English   中英

在矩陣python中追加值

[英]Append values in matrix python

我正在嘗試填充aixj矩陣的值,其中每個單元格必須具有分配給它的值[,]。

我已經嘗試了很多東西。 例如,我嘗試的第一個單元格

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

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

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

但是單元格仍然是[]。 我假設我一定是在犯一個愚蠢的錯誤,但是請您幫忙

有什么理由不在您的代碼中使用numpy.array嗎? 您可以這樣初始化您的(i,j)矩陣(例如,假設i = 2和j = 3):

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

然后,如果要填充其第一行(例如,有意義的python索引從0開始):

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

為了正確初始化矩陣,速度總是比較好的,但是如果您需要添加一行,還可以使用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比嵌入列表更方便。

如果您真的想使用初始化的嵌入列表,我想您可以使用以下方法:

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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM