如何创建矩阵?(Python)

0 投票
1 回答
1577 浏览
提问于 2025-04-18 01:23

我想创建一个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

撰写回答