Matrix = [[0]*3]*3
matrix[0][0] = 1
结果是
[[1,0,0],[1,0,0],[1,0,0]]
这是什么问题?这是Python中矩阵错误吗?
答案 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]]