Python中字典的浅拷贝与深拷贝用法实例分析

 更新时间:2018年01月02日 10:21:49   作者:EmmaYuer  
这篇文章主要介绍了Python中字典的浅拷贝与深拷贝用法,结合实例形式分析了字典浅拷贝与深拷贝的原理、区别与使用方法,需要的朋友可以参考下

本文实例讲述了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

运行结果:

说明直接赋值是一种浅拷贝方式,而后两种是深拷贝方式

有的地方说copy.copy是浅拷贝,经我的验证它也是深拷贝,不知道是不是python的版本问题

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Scrapy基于scrapy_redis实现分布式爬虫部署的示例

    Scrapy基于scrapy_redis实现分布式爬虫部署的示例

    这篇文章主要介绍了Scrapy基于scrapy_redis实现分布式爬虫部署的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python使用beautifulsoup4爬取酷狗音乐代码实例

    python使用beautifulsoup4爬取酷狗音乐代码实例

    这篇文章主要介绍了python使用beautifulsoup4爬取酷狗音乐代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 对python 树状嵌套结构的实现思路详解

    对python 树状嵌套结构的实现思路详解

    今天小编就为大家分享一篇对python 树状嵌套结构的实现思路详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python文本终端GUI框架的使用方法

    Python文本终端GUI框架的使用方法

    Python中有几个流行的文本终端GUI框架,它们提供了创建命令行界面的便捷方法,这些框架使开发者能够构建交互式、用户友好的命令行应用程序,本文将介绍几个主要的Python文本终端GUI框架,展示它们的使用方法和示例代码,需要的朋友可以参考下
    2023-12-12
  • python中使用PIL制作并验证图片验证码

    python中使用PIL制作并验证图片验证码

    本篇文章给大家分享了python中使用PIL制作并验证图片验证码的具体代码以及说明,需要的朋友参考下吧。
    2018-03-03
  • 解决项目pycharm能运行,在终端却无法运行的问题

    解决项目pycharm能运行,在终端却无法运行的问题

    今天小编就为大家分享一篇解决项目pycharm能运行,在终端却无法运行的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 计算机视觉编程进阶之图像特效处理篇

    Python 计算机视觉编程进阶之图像特效处理篇

    计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示。所有这样的转换都是为了完成某种特定的目的而进行的,本篇我们来学习下如何对图像进行特效处理
    2021-11-11
  • Django rest framework基本介绍与代码示例

    Django rest framework基本介绍与代码示例

    这篇文章主要介绍了Django rest framework基本介绍与代码示例,简单叙述了rest framework的一些用处,可选择的相关软件包,然后分享了一个简单的模型支持的API的例子,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 一文教你将Visual Studio Code变成Python开发神器

    一文教你将Visual Studio Code变成Python开发神器

    Visual Studio Code 是一款功能强大、可扩展且轻量级的代码编辑器,经过多年的发展,已经成为 Python 社区的首选代码编辑器之一。本文将为大家介绍一下如何将Visual Studio Code变成Python开发神器,需要的可以参考一下
    2022-07-07
  • 使用python分析git log日志示例

    使用python分析git log日志示例

    这篇文章主要介绍了使用python分析git log日志示例,需要的朋友可以参考下
    2014-02-02

最新评论