使用列表的Python 2D数组

时间:2015-11-29 11:55:56

标签: python arrays matrix

我试图使用列表创建一个二维数组。从输入我有一个元组与行和列的规格。这样的事情。

((1, 2, 3, 4, 5), (9, 8, 7, 6, 5))

这意味着我需要一个这样的列表:

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

(A 5x5矩阵)

制作矩阵,因为我不知道规格元组的长度。我做了一个构造函数来制作矩阵。像这样:(t是规格元组)

t=[[0] * len(t[0])] * len(t[1])

这实际上是我想要的,但当我尝试更改值时会发生这种情况: (y是矩阵)

>>>y[0][1]=2
>>> y
[[0, 2, 0, 0, 0], [0, 2, 0, 0, 0], [0, 2, 0, 0, 0], [0, 2, 0, 0, 0], [0, 2, 0, 0, 0]]

它改变了所有行的所有[1]索引。为什么要这样做?

0 个答案:

没有答案