首页 > 解决方案 > 使用现有函数初始化零矩阵

问题描述

我有这个代码:

def initialise(m, n, value):
    if not m <= 0:
        stop_program(f'{m} is not a valid number of lines')
    if not n <= 0:
        stop_program(f'{n} is not a valid number of columns)
    if not is_number(value):
        stop_program(f'{value} is not a valid number')
    return [[value for _ in range(n)] for _ in range(m)]

而 is_number 是一个验证输入的值是否为数字的函数,而 stop_program 是一个在输入的值不是有效数字时停止编程的函数。最后一个代码创建了一个矩阵 mxn,它只包含数字“值”。

现在使用函数初始化,我必须创建一个零矩阵,但我不知道如何。到目前为止,我尝试使用 for 条件,但我不知道在该条件中添加什么来创建一行零和一列零:

def zeros(m, n):
    for init(m):
        #condition and create a column of zeros
    for init(n):
        #condition and create a line of zeros
return []

谢谢!

标签: pythonpython-3.xfunctionfor-loop

解决方案


您可以创建一个零矩阵,如下所示:

zero_matrix = [[0]*m]*n

其中m是列n数和行数。或者,您可以使用 numpy 中的 zeros 函数

from numpy import zeros

zero_matrix = zeros(n,m)

推荐阅读