python 深拷贝deepcoy
来源:互联网 发布:汉唐香莎温泉会所js 编辑:程序博客网 时间:2024/06/03 17:08
python 中的变量定义简单,直接赋值即可使用。但是也存在很多坑,就像listl列表和dict字段这类数据结构的拷贝问题。
问题
定义列表a,查看其地址
>>> a=[1,2,3]>>> id(a)46832520L
将a赋值给b,并查看地址
>>> b=a>>> id(b)46832520L
可以看到,a,b的指向同一块内存。
接着, 对b附加元素
>>> b.append(4)>>> print a[1, 2, 3, 4]>>>
可以看到a中也同样的附加了一个元素,此时a,b完全一样。
如何在b中添加元素,而不影响a呢?
答案就是深度拷贝。
深度拷贝
引入copy包
>>>import copy>>> a=[1,2,3]>>> id(a)46832520L>>> b=copy.deepcopy(a)>>> id(b)46832328L>>> b.append(4)>>> print a[1, 2, 3]>>> print b[1, 2, 3, 4]>>>
经过深度拷贝后,a,b内存地址不同,对b附加元素,对a完全没有影响。
阅读全文
0 0
- python 深拷贝deepcoy
- python深拷贝浅拷贝
- python-深拷贝,浅拷贝
- python浅拷贝深拷贝
- python深拷贝浅拷贝
- python浅拷贝 深拷贝
- python 深拷贝&浅拷贝
- python 浅拷贝&深拷贝
- python 深拷贝使用
- [Python]深拷贝效率
- [Python]深拷贝效率
- Python深拷贝
- python 的深拷贝和浅拷贝
- python list 浅谈深拷贝,浅拷贝
- Python的浅拷贝与深拷贝
- python/c++ 深拷贝与浅拷贝
- Python 深拷贝与浅拷贝
- Python深拷贝和浅拷贝
- tomcat环境变量详细配置步骤
- java鬼混笔记:apache log4j基本配置和捕获异常打印
- HTML UTF-8 中文乱码问题
- Android Studio JNI开发入门教程
- SpringMVC自定义视图
- python 深拷贝deepcoy
- 面向对象
- java保留2位小数问题
- JS基础及编写第一个JS程序
- 东方天空璋修改器相关地址
- QT的学习(3)-信号跟槽
- 在批处理中调用JS操作MongoDB
- 对象的访问定位
- 四轴PID讲解