Python中深拷贝和浅拷贝


什么时候是深拷贝,什么时候是浅拷贝?

对于简单的 object,用 shallow copy 和 deep copy 没区别(这里的简单是指数据里面不存在存在其他数据结构嵌套)复杂的 object, 如 list 中套着 list 的情况,当把一个list append 到另外一个list,shallow copy 中的 子list,并未从原 object 真的「独立」出来。也就是说,如果改变原 object 的子 list 中的一个元素,你的 copy 就会跟着一起变。浅拷贝是引用,深拷贝是开辟独立空间。


Python中深拷贝和浅拷贝_第1张图片

程序改变一下:


Python中深拷贝和浅拷贝_第2张图片

你可能感兴趣的:(Python中深拷贝和浅拷贝)