python深、浅拷贝
2016-12-31 16:35
295 查看
1、首先对于数字和字符串而言,深浅拷贝无实际意义,两者同时指向同一个内存地址。
2、对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的。
浅拷贝,内存地址不变,两次赋值都指向同一个内存地址。
深拷贝,在内存中将所有的数据重新创建一份(排除最后一层),其实就是排除掉了最后一层的字符串和数字。
1 a = 123 2 print(id(a)) 3 4 b = a 5 print(id(b)) 6 7 8 495849744 9 495849744
2、对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的。
浅拷贝,内存地址不变,两次赋值都指向同一个内存地址。
import copy a = {"k1": "v1", "k2": 111, "k3": ["v2", 222]} print(id(a)) b = copy.copy(a) print(id(b)) 10278600 10278600
深拷贝,在内存中将所有的数据重新创建一份(排除最后一层),其实就是排除掉了最后一层的字符串和数字。
1 import copy 2 3 a = {"k1": "v1", "k2": 111, "k3": ["v2", 222]} 4 print(id(a)) 5 6 b = copy.deepcopy(a) 7 print(id(b)) 8 9 10 10147528 11 10598792
相关文章推荐
- win10+GTX1070+keras+Anaconda+python3.5安装记录
- Examples Generating Excel Documents Using Python’s xlwt
- 使用python的twisted框架编写一个简单的聊天室
- Python - 类型转换
- python学习笔记-上下文管理器
- 在Ubuntu 16.04 LTS 下用Vim 打造自己的Python IDE 问题总结
- ubuntu下完美安装pyenv+virtualenv
- 383. Ransom Note
- 1 python大数据挖掘系列之基础知识入门
- pyspider 中文简介
- 415. Add Strings
- numpy点滴
- Python 1. 如何选择python版本,以及如何选择开发环境(IDE)
- 3-python图像处理之NumPy
- pickle存储数据-读取数据-入门---python学习笔记25
- 集合(set)-Python3
- Python 练习册,每天一个小程序----------000 图片右上角加上红色的数字
- Python抢火车票成功后发送邮件
- Python NaN
- 机器学习之旅-重要的Python库:matplotlib