我当时正在用Python(2.5.4)编写程序,但我意识到我的代码由于异常而无法正常工作。我将举一个例子:
A = [[0]*2]*2
当我打印A时,我得到:
[[0, 0], [0, 0]]
那没问题。但是现在我想更改第一列中的元素,并触发第一行。所以我输入:
A[0][0] = 1
但是,当我再次打印A时,我得到:
[[1, 0], [1, 0]]
但是,我期待
[[1, 0], [0, 0]]
这毁了我所有的代码。我想知道为什么会这样以及如何解决。
另一方面,当我键入时:
B = [[0,0],[0,0]]
和做:
B[0][0] = 1
我得到:
[[1, 0], [0, 0]]
这甚至是陌生人!两种实现矩阵的方法不是等效的吗?如果我想要一个100x100的零矩阵怎么办?对于这种情况,对于2x2矩阵,我可以键入[[0,0],[0,0]]。但这不是一个好的解决方案。
慕少森
慕村225694
相关分类