我花了很多时间在列表的不良行为上,让我给你看一个简单的例子:
columns = 3
rows = 4
matrix1 = [[0] * columns] * rows
matrix2 = [[0 for column in range(columns)] for row in range(rows)]
matrix1[2][1] = 5
matrix2[2][1] = 5
print('M1:', matrix1)
print('M2:', matrix2)
输出:
M1: [[0, 5, 0], [0, 5, 0], [0, 5, 0], [0, 5, 0]]
M2: [[0, 0, 0], [0, 0, 0], [0, 5, 0], [0, 0, 0]]
有人可以向我解释为什么M1看起来像这样吗?