python - 使用现有函数初始化零矩阵
问题描述
我有这个代码:
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 []
谢谢!
解决方案
您可以创建一个零矩阵,如下所示:
zero_matrix = [[0]*m]*n
其中m
是列n
数和行数。或者,您可以使用 numpy 中的 zeros 函数
from numpy import zeros
zero_matrix = zeros(n,m)
推荐阅读
- javascript - 无法解决此错误:未闭合字符串
- java - Java - 如何知道夏令时是否开启
- java - 使 Gridview 内的 TextView 完全圆润
- sql - 在 Athena 中,如何在结构中的数组中查询结构的成员?
- javascript - 更新旧的 Web 窗体应用程序以使用 Chrome/window.open 行为。如何在关闭窗口时刷新父级父级?
- clojure - 从 Clojure 的嵌套列表中获取平面记录数据结构
- angular - Angular Firestore 集合查询和排序依据
- loopbackjs - 如何在 loopback-next 中重新发送内容
- c++ - 将 int 与 string 和 getline 一起使用而不会出错
- azure - Azure Cosmos DB - 不正确且可变的文档计数