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 相关文章推荐
centos系统升级python 2.7.3
Jul 03 Python
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
Python实现单词拼写检查
Apr 25 Python
Python中的filter()函数的用法
Apr 27 Python
浅谈python字符串方法的简单使用
Jul 18 Python
使用python实现链表操作
Jan 26 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
Django给admin添加Action的步骤详解
May 01 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
Django配置跨域并开发测试接口
Nov 04 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 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
PHP生成月历代码
2007/06/14 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
php生成缩略图的类代码
2008/10/02 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHP中的事务使用实例
2015/05/26 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
JS中的BOM应用
2018/02/02 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
使用tensorflow实现线性回归
2018/09/08 Python
pycham查看程序执行的时间方法
2018/11/29 Python
为什么python比较流行
2020/06/19 Python
python实现ping命令小程序
2020/12/28 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
安全生产管理合理化建议书
2014/03/12 职场文书
报告会主持词
2014/04/02 职场文书
创先争优个人承诺书
2014/08/30 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript