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的Urllib库的基本使用教程
Apr 30 Python
浅谈Python中的数据类型
May 05 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
基于Python的关键字监控及告警
Jul 06 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
django框架model orM使用字典作为参数,保存数据的方法分析
Jun 24 Python
python中字典按键或键值排序的实现代码
Aug 27 Python
Flask框架 CSRF 保护实现方法详解
Oct 30 Python
python实现while循环打印星星的四种形状
Nov 23 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
学会Python数据可视化必须尝试这7个库
Jun 16 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP children()函数讲解
2019/02/03 PHP
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
如何编写jquery插件
2017/03/29 jQuery
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python实现堆排序的方法详解
2016/05/03 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
Django继承自带user表并重写的例子
2019/11/18 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
乌鸦喝水教学反思
2014/02/07 职场文书
霸王洗发水广告词
2014/03/14 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
Python正则表达式中flags参数的实例详解
2022/04/01 Python
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电