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列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python多线程编程(三):threading.Thread类的重要函数和方法
Apr 05 Python
Python线程创建和终止实例代码
Jan 20 Python
python实现决策树分类(2)
Aug 30 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
python机器学习实现决策树
Nov 11 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
给ubuntu18安装python3.7的详细教程
Jun 08 Python
Python Switch Case三种实现方法代码实例
Jun 18 Python
Python 开发工具通过 agent 代理使用的方法
Sep 27 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
mysql 全文搜索 技巧
2007/04/27 PHP
PHP学习 变量使用总结
2011/03/24 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
newxtree.js代码
2007/03/13 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
python -v 报错问题的解决方法
2020/09/15 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
德国在线订购鲜花:Fleurop
2018/08/25 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
土木工程专业个人求职信
2013/12/30 职场文书
校园安全广播稿
2014/02/08 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
小学语文教研活动总结
2014/07/01 职场文书
工作简历的自我评价
2019/05/16 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python