【发布时间】:2011-10-11 06:05:55
【问题描述】:
当我运行这个脚本时(Python v2.6):
a = [1,2]
b = a
a.append(3)
print a
>>>> [1,2,3]
print b
>>>> [1,2,3]
我希望 print b 输出 [1,2]。当我所做的只是改变a时,为什么b会改变? b 是否与 a 永久绑定?如果是这样,我可以让他们独立吗?怎么样?
【问题讨论】:
-
@Felix 我想说不完全是一个骗局——他不仅问如何克隆,还问为什么 Python 会以某种方式运行。
-
"Python has names" 是关于此行为的更好的教程/介绍的非常好的部分。
-
@thegrinner:是的,我有点太快了。只是暗示一下会更好。