这个问题在这里已有答案:
我在python中遇到了一个附加到列表的问题 . 我实施的代码是:
a=[1,2]
b=[3,4]
a.append(b)
b.append(5)
print a
print b
我对python追加的理解是这段代码的预期输出是:
预期产出
a=[1,2,[3,4]]
b=[3,4,5]
但实际输出是不同的 . 实际产出
a=[1,2,[3,4,5]]
b=[3,4,5]
我只是想知道为什么会这样 .
由于我将 b
列表追加到 a
,然后将 5
追加到 b
,列表 a
应该 [1,2,[3,4]]
1 回答
Python名称是references,并且附加到列表会附加对同一对象的引用 .
换句话说,您没有附加
b
列表的副本 .a
列表和名称b
共享对同一个对象的引用:如果您希望将
b
列表的副本添加到a
,请明确执行以下操作:要么
见How to clone or copy a list?