python中深拷贝与浅拷贝详细介绍

日期:2018-06-08 16:37:45 章节:  python核心

以列表举例,先看看浅拷贝。

python-copy.png

这样相当于是浅拷贝,“只拷贝引用”,a与c是同一个列表。

再深拷贝一份a试试。import copy

python-copy1.png

使用is比较返回false,打印id()也不是一样。

这就是深拷贝,可以理解为“将值拷贝过来,新开一块内存,d指向这块内存(列表)”

那么,深拷贝到底“深”到什么程度呢?

再定义一个列表e=[a,b],然后深拷贝e。可以看出:f列表里面f[0]不再是a,f[1]不再是b。

深拷贝:如果是可变类型,则会一直拷贝!拷贝到底!