如何创建矩阵? (蟒蛇)

时间:2014-04-04 18:13:17

标签: python matrix rows

我想创建一个2x3矩阵。 (2行,3列)当我运行我的代码时,我在括号中得到矩阵,这是不正确的。

def fill_matrix(numrows, numcols, val):
     matrix = [[val for i in range(numrows)] for j in range(numcols)]
     return (numrows, numcols, val)

如果我选择创建一个2x2矩阵并用1填充所有漏洞,我应该得到这个: [[1,1],[1,1]]

但我得到了这个: (2,2,1)

1 个答案:

答案 0 :(得分: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)]

只返回矩阵本身。

如果你正在使用matricies,你也可以考虑使用numpy并执行:

import numpy as np
np.ones((2,2))

或:

def fill_matrix(numrows, numcols, val):
    return np.ones((numrows, numcols)) * val