一、直接定义
matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
matrix[2][2] = 9
print(matrix)
输出: [[0, 0, 0], [0, 0, 0], [0, 0, 9]]
二、间接定义
m=2
n=3
matrix = [[0 for j in range(m)] for i in range(n)] #m为列,n为行,0是矩阵的赋值,即全0矩阵
也可以写作:matrix = [ [0] * m for i in range(n)]
matrix[2][1] = 9
print(matrix)
输出: [[0, 0], [0, 0], [0, 9]]
三、采用numpy生成想要维度的矩阵
import numpyas np
x,y= map(int,input("请输入行列数,以空格隔开:").split()) #input().split() 有多个输入时 用空格(默认)隔开
a= np.zeros((x+1,y+1))
a[1][1]=9
print(a)
若直接用列表生成m行n列的矩阵
m,n = map(int,input().split())matrix = [[0]*(m)]*(n)
输出为:
这种方式生成的矩阵存在一定的问题,比如,无法给特定位置的元素赋值,例如:
matrix[1][1] = 9
输出为:
可见,第二列的元素全部被赋值为9了