Python对象的拷贝

2014-11-24 03:11:40 · 作者: · 浏览: 3

一、定义


Python对象的拷贝分为两种:深拷贝和浅拷贝。


深拷贝:拷贝对象及其子对象。


浅拷贝:只拷贝对象本身,不会拷贝对象的子对象。


二、举例


有列表a=[1,2,3,4,[5,6]]。


浅拷贝有两种方法,一种是切片b=a[:],另外一种是使用copy库c=copy.copy(a)。



怎么验证这样是浅拷贝呢?



可以看到列表b和列表c中的子列表只是一个引用类型,并不是列表a的子列表的拷贝。


深拷贝的方法是使用copy库,下图可以看到列表d的子列表并没有随着a[4]的改变而改变。



好了今天就写到这里了。


推荐阅读: