如何创建矩阵?(Python)
我想创建一个2行3列的矩阵。当我运行我的代码时,得到的矩阵是用括号括起来的,这样是不对的。
def fill_matrix(numrows, numcols, val):
matrix = [[val for i in range(numrows)] for j in range(numcols)]
return (numrows, numcols, val)
如果我选择创建一个2行2列的矩阵,并且把所有的空位都填上1,我应该得到这个: [[1, 1], [1, 1]]
但是我得到的是这个: (2, 2, 1)
1 个回答
5
你的 fill_matrix
函数返回的是一个元组 (numrows, numcols, val)
,所以你得到的结果是 (2,2,1)
。实际上,你并没有返回矩阵。
你可以尝试:
def fill_matrix(numrows, numcols, val):
return [[val for i in range(numrows)] for j in range(numcols)]
直接返回矩阵本身。
如果你在处理矩阵的话,可以考虑使用 numpy,然后这样做:
import numpy as np
np.ones((2,2))
或者:
def fill_matrix(numrows, numcols, val):
return np.ones((numrows, numcols)) * val