在Python中创建2D矩阵列表
我正在尝试创建二维矩阵列表,如下图所示: 基本上,我想从一个全为零的NxN矩阵开始,然后依次用1替换0(如图所示)。随着每次修改将0更改为1,我希望在该步骤中输出矩阵,并将其保存在列表或数组中 对于图中的第一行矩阵,我有:在Python中创建2D矩阵列表,python,python-3.x,numpy,for-loop,matrix,Python,Python 3.x,Numpy,For Loop,Matrix,我正在尝试创建二维矩阵列表,如下图所示: 基本上,我想从一个全为零的NxN矩阵开始,然后依次用1替换0(如图所示)。随着每次修改将0更改为1,我希望在该步骤中输出矩阵,并将其保存在列表或数组中 对于图中的第一行矩阵,我有: dim = 4 x=[] for i in range(0,dim): matrix = np.zeros((dim,dim)) matrix[0,i] = 1 x.append(matrix)
dim = 4
x=[]
for i in range(0,dim):
matrix = np.zeros((dim,dim))
matrix[0,i] = 1
x.append(matrix)
m0 = x[0]
m1 = x[0]+x[1]
m2 = x[0]+x[1]+x[2]
m3 = x[0]+x[1]+x[2]+x[3]
我想概括一下,这样我不仅可以得到第一行,还可以得到图像中显示的其余行,并通过“dim”更改矩阵大小。我似乎无法理解这一点。非常感谢您的帮助。这将完成以下工作:
import numpy as np
dim = 4
x=[]
for i in range(dim):
lst=[]
matrix=np.zeros((dim,dim))
vec=np.ones(i+1)
for j in range(dim):
matrix[0:i+1,j]=vec
lst.append(np.copy(matrix))
x.append(lst)
print(x)
谢谢,这帮了大忙。