【发布时间】:2014-04-25 22:13:21
【问题描述】:
我找不到任何符合我的问题的东西,所以希望这不是已经在某处提到的,我只是太愚蠢了,找不到它。
thelist = []
a = [0]
for i in range(5):
thelist.append(a)
print(thelist)
此时程序返回[[0], [0], [0], [0], [0]]
thelist[0].append(1)
print(thelist)
添加后,我希望它返回相同但修改了第一个元素,如下所示:
[[0, 1], [0], [0], [0], [0]]
实际发生的情况是,每个元素都以相同的方式修改,我得到以下结果。
[[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]
我发现,如果我将第 2 行中的 a 替换为 a 的值,一切正常。但是为什么当我多次附加一个变量时这不起作用??
【问题讨论】:
-
倒数第二行。我的意思是第 4 行。