python创建二维矩阵语句
2020-01-10 本文已影响0人
竹子bupt
一、直接定义
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)
![](https://img.haomeiwen.com/i15999470/7af82160671c250a.png)
若直接用列表生成m行n列的矩阵
m,n = map(int,input().split())matrix = [[0]*(m)]*(n)
输出为:
![](https://img.haomeiwen.com/i15999470/a630125f8b5a0123.png)
这种方式生成的矩阵存在一定的问题,比如,无法给特定位置的元素赋值,例如:
matrix[1][1] = 9
输出为:
![](https://img.haomeiwen.com/i15999470/6bdd08145a3986a0.png)
可见,第二列的元素全部被赋值为9了