【发布时间】:2021-11-20 19:55:48
【问题描述】:
这是一个我觉得令人费解的 sn-p。为什么y[0][0] = 2会初始化所有行中的所有列?
Python 3.8.10 (default, Jun 2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x = []
>>> x.append([0])
>>> x.append([0])
>>> x.append([0])
>>> x.append([0])
>>> x
[[0], [0], [0], [0]]
>>> y = [ [0] * 1 ] * 4
>>> y
[[0], [0], [0], [0]]
>>> x == y
True
>>> x[0][0] = 2
>>> y[0][0] = 2
>>> x
[[2], [0], [0], [0]]
>>> y
[[2], [2], [2], [2]]
>>>
【问题讨论】:
标签: python multidimensional-array