为什么设置一个元素值会更改Python 2d矩阵中另一元素的值

时间:2018-11-20 03:23:56

标签: python

Matrix = [[0]*3]*3
matrix[0][0] = 1

结果是     [[1,0,0],[1,0,0],[1,0,0]] 这是什么问题?这是Python中矩阵错误吗?

1 个答案:

答案 0 :(得分:1)

因为矩阵中的所有索引都指向同一列表(即[0]*3)。您应该为每个索引创建一个新列表:

matrix = [[0]*3 for i in range(3)]
matrix[0][0] = 1

print(matrix)
# [[1, 0, 0], [0, 0, 0], [0, 0, 0]]