为什么带有更改元素的矩阵(来自列表)的python循环给出的输出不正确?

时间:2017-11-14 21:06:41

标签: python python-3.x list loops matrix

就我个人而言,这段代码给出了奇怪的输出,我不明白为什么。

输入:

matrix = [[0] * 5] * 5

for i in range(5):
    matrix[i][0] = i

matrix

输出:

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

预期产出:

[[0, 0, 0, 0, 0],
 [1, 0, 0, 0, 0],
 [2, 0, 0, 0, 0],
 [3, 0, 0, 0, 0],
 [4, 0, 0, 0, 0]]

0 个答案:

没有答案