Python中字典的浅拷贝与深拷贝用法实例分析


Posted in Python onJanuary 02, 2018

本文实例讲述了Python中字典的浅拷贝与深拷贝用法。分享给大家供大家参考,具体如下:

最近发现的一个很值得记录的东西就是python字典的浅拷贝问题

首先,明确一下什么是浅拷贝,什么是深拷贝:

简单的来说就是,在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存

也就是说,在浅拷贝情况下,不同引用指向的是同一块内存,改其中一个引用,那么其他引用也会跟着改变

应用到python 的字典复制过程:

# coding: utf-8
import copy
dict ={"a":"apple","o":"orange"}
dict1 = dict
dict2 = copy.copy(dict)
dict3 = copy.deepcopy(dict)
print "三水点靠木测试结果:"
print dict1
print dict2
print dict3
dict["a"]="watermelon"
print dict1
print dict2
print dict3

运行结果:

Python中字典的浅拷贝与深拷贝用法实例分析

说明直接赋值是一种浅拷贝方式,而后两种是深拷贝方式

有的地方说copy.copy是浅拷贝,经我的验证它也是深拷贝,不知道是不是python的版本问题

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python常用小技巧总结
Jun 01 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
Python虚拟环境virtualenv的安装与使用详解
May 28 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
TensorFlow实现简单卷积神经网络
May 24 Python
Python中pymysql 模块的使用详解
Aug 12 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 #Python
Python实现进程同步和通信的方法
Jan 02 #Python
mac系统安装Python3初体验
Jan 02 #Python
Python中static相关知识小结
Jan 02 #Python
python tensorflow基于cnn实现手写数字识别
Jan 01 #Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 #Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 #Python
You might like
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
jQuery设计思想
2017/03/07 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
python获取标准北京时间的方法
2015/03/24 Python
python+Django+apache的配置方法详解
2016/06/01 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
俄语专业毕业生推荐信
2013/10/28 职场文书
小组合作学习反思
2014/02/18 职场文书
房地产促销活动方案
2014/03/01 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
介绍信怎么写
2015/05/05 职场文书
鸡毛信观后感
2015/06/11 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL