欢迎关注公众号——《数据三分钟》
一线大厂的师兄师姐结合自己的工作实践,将数据知识浅显道来,每天三分钟,助你成为数据达人。还有面试指导和内推机会。
1、直接用列表生成m行n列的矩阵
m,n = map(int,input().split())
matrix = [[0]*(m)]*(n)
输出为:
这种方式生成的矩阵存在一定的问题,比如,无法给特定位置的元素赋值,例如:
matrix[1][1] = 9
输出为:
可见,第二列的元素全部被赋值为9了
2、采用numpy生成想要维度的矩阵
import numpy as np
x,y = map(int,input().split())
a = np.ones((x+1,y+1))
输出为:
上面的输出特别漂亮,一个完美的矩阵形式输出,下面我们试一下修改特定位置的元素值。
import numpy as np
x,y = map(int,input().split())
a = np.ones((x+1,y+1))
a[1][1] = 9
print(a)
输出为:
可见,我们成功修改了第二行第二列的元素值,因此通过numpy生成的矩阵更具有可操作性。比如下面的操作:
import numpy as np
x,y = map(int,input().split())
a = np.ones((x+1,y+1))
for i in range(1,x+1):
for j in range(1,y+1):
a[i][j] = a[i-1][j] + a[i][j-1]
print(a)
输出为: