深拷贝与浅拷贝

来源:互联网 发布:ubuntu nginx启动脚本 编辑:程序博客网 时间:2024/06/15 12:59

以python为例:

浅拷贝:只复制引用,而不复制对象本身的情况。例如下面这个例子:


我们发现虽然没有改变list1的值,但是list1的值随着list2发生了改变。问题就出在第二行的时候并没有复制列表【1,2,3】本身,

只是将名字list2指向了[1,2,3]。实现浅拷贝的方法还有下面两种(切片法和使用copy方法):


深拷贝:复制对象本身的情况,例如下面这个例子:


这时候改变list1的值并不会影响list2,因为在第二行的时候其实是生成了一个新的列表。

实现深拷贝的方法还包括使用copy模块中的copy.deepcopy()方法:


1 0
原创粉丝点击