如何在Python中输入矩阵(二维列表)?

如何在Python中输入矩阵(二维列表)?,第1张

如何在Python中输入矩阵(二维列表)?

问题出在初始化步骤上。

for i in range (0,m):  matrix[i] = columns

这段代码实际上使您的每一行都

matrix
引用相同的
columns
对象。如果任何列中的任何项目发生更改-其他所有列都将发生变化:

>>> for i in range (0,m):...     matrix[i] = columns... >>> matrix[[0, 0, 0], [0, 0, 0]]>>> matrix[1][1] = 2>>> matrix[[0, 2, 0], [0, 2, 0]]

您可以在嵌套循环中初始化矩阵,如下所示:

matrix = []for i in range(0,m):    matrix.append([])    for j in range(0,n):        matrix[i].append(0)

或者,通过使用列表理解来实现单线:

matrix = [[0 for j in range(n)] for i in range(m)]

要么:

matrix = [x[:] for x in [[0]*n]*m]

也可以看看:

  • 如何在Python中初始化二维数组?

希望能有所帮助。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4876968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存