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

伊卡兹拉

我试图创建此代码以输入m x n矩阵。我打算输入,[[1,2,3],[4,5,6]]但是代码产生了[[4,5,6],[4,5,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)
ec

问题出在初始化步骤上。

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]

也可以看看:

希望能有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从python中的列表创建矩阵或二维列表?

来自分类Dev

如何在python中反转二维列表?

来自分类Dev

如何在 Python 中更改二维列表的列?

来自分类Dev

在 Python 中创建二维矩阵列表

来自分类Dev

如何在Matlab中显示二维矩阵

来自分类Dev

如何使用python中的列表切片二维矩阵?

来自分类Dev

如何在R中创建二维列表

来自分类Dev

如何在R中创建二维列表

来自分类Dev

ro如何在python中将多行输入读取到二维数组中

来自分类Dev

如何在python中使用numpy获取二维矩阵(列表)中具有最多给定元素的列和行的索引

来自分类Dev

像这样如何在Python中定义一个二维列表?

来自分类Dev

在python中,我应该如何在将文件读入二维列表后,使用函数,不要让二维列表为空

来自分类Dev

如何在python中对二维数组进行排序

来自分类Dev

Python中的二维列表

来自分类Dev

R中的二维数组列表上的矩阵乘法

来自分类Dev

如何从n维矩阵中获得n维二维子矩阵?

来自分类Dev

如何读取用户的输入并创建二维列表?

来自分类Dev

如何在二维列表中找到最大的列表?

来自分类Dev

二维矩阵PYTHON中的最大和矩形

来自分类Dev

如何在 Java 矩阵(二维数组)中围绕 10 x 10 0 的矩阵制作 1 的“边界”

来自分类Dev

二维if / then矩阵

来自分类Dev

在numpy中组合二维矩阵

来自分类Dev

libgdx中的二维矩阵

来自分类Dev

在numpy中组合二维矩阵

来自分类Dev

在java中打印二维矩阵

来自分类Dev

如何在Java中获取二维数组列表的最大值/最小值

来自分类Dev

如何在二维数组的列表理解中具有多个条件

来自分类Dev

如何在网格中对点列表进行二维插值

来自分类Dev

Python:如何在二维数组中实现二分查找

Related 相关文章

  1. 1

    如何从python中的列表创建矩阵或二维列表?

  2. 2

    如何在python中反转二维列表?

  3. 3

    如何在 Python 中更改二维列表的列?

  4. 4

    在 Python 中创建二维矩阵列表

  5. 5

    如何在Matlab中显示二维矩阵

  6. 6

    如何使用python中的列表切片二维矩阵?

  7. 7

    如何在R中创建二维列表

  8. 8

    如何在R中创建二维列表

  9. 9

    ro如何在python中将多行输入读取到二维数组中

  10. 10

    如何在python中使用numpy获取二维矩阵(列表)中具有最多给定元素的列和行的索引

  11. 11

    像这样如何在Python中定义一个二维列表?

  12. 12

    在python中,我应该如何在将文件读入二维列表后,使用函数,不要让二维列表为空

  13. 13

    如何在python中对二维数组进行排序

  14. 14

    Python中的二维列表

  15. 15

    R中的二维数组列表上的矩阵乘法

  16. 16

    如何从n维矩阵中获得n维二维子矩阵?

  17. 17

    如何读取用户的输入并创建二维列表?

  18. 18

    如何在二维列表中找到最大的列表?

  19. 19

    二维矩阵PYTHON中的最大和矩形

  20. 20

    如何在 Java 矩阵(二维数组)中围绕 10 x 10 0 的矩阵制作 1 的“边界”

  21. 21

    二维if / then矩阵

  22. 22

    在numpy中组合二维矩阵

  23. 23

    libgdx中的二维矩阵

  24. 24

    在numpy中组合二维矩阵

  25. 25

    在java中打印二维矩阵

  26. 26

    如何在Java中获取二维数组列表的最大值/最小值

  27. 27

    如何在二维数组的列表理解中具有多个条件

  28. 28

    如何在网格中对点列表进行二维插值

  29. 29

    Python:如何在二维数组中实现二分查找

热门标签

归档