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编写屏幕截图程序方法
Feb 18 Python
Python抽象类的新写法
Jun 18 Python
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 Python
Python数据操作方法封装类实例
Jun 23 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
python+opencv实现阈值分割
Dec 26 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
深入了解python列表(LIST)
Jun 08 Python
Python实现GIF图倒放
Jul 16 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
一篇文章弄懂Python关键字、标识符和变量
Jul 15 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
thinkphp浏览历史功能实现方法
2014/10/29 PHP
php Session无效分析资料整理
2016/11/29 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
Python自动重试HTTP连接装饰器
2015/04/28 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
python 爬取免费简历模板网站的示例
2020/09/27 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
农民致富事迹材料
2014/01/23 职场文书
2013年最新自荐信范文
2014/06/23 职场文书
2014企业年终工作总结
2014/12/23 职场文书
教师工作决心书
2015/02/04 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
身份证丢失证明
2015/06/19 职场文书
如何写新闻稿
2015/07/18 职场文书
学校运动会通讯稿
2015/07/18 职场文书
Python必备技巧之函数的使用详解
2022/04/04 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server