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 30 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
基于python实现名片管理系统
Nov 30 Python
python实现感知器算法(批处理)
Jan 18 Python
python 多线程重启方法
Feb 18 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 Python
详解python日志输出使用配置文件格式
Feb 10 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
?繁体转换的class
2006/10/09 PHP
使用 MySQL Date/Time 类型
2008/03/26 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
小程序实现多选框功能
2018/10/30 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
销售员个人求职的自我评价
2014/02/10 职场文书
《雪儿》教学反思
2014/04/17 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
给老婆的检讨书
2015/01/27 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
仓管员岗位职责范本
2015/04/01 职场文书