python浅拷贝深拷贝
来源:互联网 发布:有淘宝帐号怎么开网店 编辑:程序博客网 时间:2024/05/16 10:40
copy_list=list[:] 得到的是浅拷贝,即只能顶层拷贝,里面的嵌套不会复制一份。
a = [0, [1, 2], 3]b = a[:]a[0] = 8a[1][1] = 9
请问现在a和b分别是多少?
答案:是 a 为 [8, [1, 9], 3],b 为 [0, [1, 9], 3]。 b的第二个元素也被改了。想不通看下面:
深拷贝方法如下:
import copya = [0, [1, 2], 3]b = copy.deepcopy(a)a[0] = 8a[1][1] = 9
int,float,long,str,tuple为不可变对象
list,set,dict为可变对象
不可变对象指的是值的不可变,所以它的每一次操作都会重建对象
打个比方:
a=1a=2
这里虽然看上去a的值可以改变,但其实是创建了一个新的对象2,然后将a的标签贴到这个2的对象上,原来那个1还在那里等待垃圾回收。
0 0
- python深拷贝浅拷贝
- python-深拷贝,浅拷贝
- python浅拷贝深拷贝
- python深拷贝浅拷贝
- python浅拷贝 深拷贝
- python 深拷贝&浅拷贝
- python 浅拷贝&深拷贝
- python 的深拷贝和浅拷贝
- python list 浅谈深拷贝,浅拷贝
- Python的浅拷贝与深拷贝
- python/c++ 深拷贝与浅拷贝
- Python 深拷贝与浅拷贝
- Python深拷贝和浅拷贝
- Python的浅拷贝和深拷贝
- python 引用 浅拷贝 深拷贝
- Python中的浅拷贝与深拷贝
- python 浅拷贝和深拷贝
- python 浅拷贝与深拷贝
- 2.Android Studio
- AndroidManifest.xml文件详解(supports-screens)
- HTML中的javascript交互
- AngularJS中$http服务的简单用法
- 放弃csdn博客
- python浅拷贝深拷贝
- 关于字符串类型与基本数据类型的转换
- 关于能ping通服务器但ssh登陆不上的问题
- 转:从《The C Programming Language》中学到的那些编程风格和设计思想
- Vim批量注释
- 计算机中如何实现除数是2的幂次的除法【转载自CSDN】
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
- CAS操作
- 如何在Linux上升级java