程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Python中输入矩阵(二维列表)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

开发过程中遇到如何在Python中输入矩阵(二维列表)?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在Python中输入矩阵(二维列表)?的解决方法建议,希望对你解决如何在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中初始化二维数组?

希望能有所帮助。

解决方法

我试图创建此代码以输入m x
n矩阵。我打算输入,[[1,2,3],[4,5,6]]但是代码产生了[[4,6],6]。当我输入其他m×n矩阵时,也会发生相同的情况,代码会产生行数相同的m×n矩阵。

也许您可以帮助我找到我的代码有什么问题。

m = int(input('number of rows,m = '))
n = int(input('number of columns,n = '))
matrix = []; columns = []
# initialize the number of rows
for i in range(0,m):
  matrix += [0]
# initialize the number of columns
for j in range (0,n):
  columns += [0]
# initialize the matrix
for i in range (0,m):
  matrix[i] = columns
for i in range (0,m):
  for j in range (0,n):
    print ('entry in row: ',i+1,' column: ',j+1)
    matrix[i][j] = int(input())
print (matrix)

大佬总结

以上是大佬教程为你收集整理的如何在Python中输入矩阵(二维列表)?全部内容,希望文章能够帮你解决如何在Python中输入矩阵(二维列表)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: