【发布时间】:2013-12-18 22:31:49
【问题描述】:
我已经使用 Python 好几年了,但发现一件非常令人困惑的事情。
a=[[]]*3
a[0].append(3)
和
a=[[] for i in range(3)]
a[0].append(3)
即使类型(列表)相同,也不会产生相同的效果。
第一个产生a=[[3], [3], [3]],第二个产生a=[[3],[],[]](如预期的那样)。
有人解释一下吗?
【问题讨论】:
-
这么多重复...
-
@jonrsharpe 这与完全相同的副本非常接近,让我大吃一惊!
-
问题是关于重复。这是一个元重复?
-
@wim,也许但是你如何搜索它们?