我创建了一个列表列表并希望将项目附加到单个列表,但是当我尝试附加到其中一个列表时(
a[0].append(2)
,该项将添加到所有列表中。
a = []
b = [1]
a.append(b)
a.append(b)
a[0].append(2)
a[1].append(3)
print(a)
给予:
[[1, 2, 3], [1, 2, 3]]
但我希望:
[[1, 2], [1, 3]]
改变我构建列表初始列表的方式,使
b
一个浮点数而不是一个列表并将括号放在里面
.append()
,提供所需的输出:
a = []
b = 1
a.append([b])
a.append([b])
a[0].append(2)
a[1].append(3)
print(a)
给予:
[[1,2],[1,3]]
但是为什么呢?结果应该不同,这不是直觉。我知道这和
multiple references to the same list
,但我不知道发生在哪里。