python的深拷贝

       之前在编写一个测试工具时发现了一个问题:如果将一个字典dict1赋给另外一个字典dict2,那么如果dict2的值发生改变,dict1也会随之改变,举个例子:

      可以看到当dict2增加了一对键-值对时,dict1也发生了变化,通过打印dict2和dict1所占用的内存地址发现,当将dict1赋给dict2时,系统并未给dict2再单独分配一个地址,因此当dict2的值发生改变时,dict1也发生改变。

       这个时候如果我们想将dict1赋给另外一个变量,而又不想让该变量的改变影响dict1的值该怎么做呢?这时候就要用到python的深拷贝deepcopy,具体用法如下:

    可以看到用deepcopy会给被赋值分配一片新内存,而变量a的改变不会影响dict1的值。

   未完待续,觉得有必要学习一下python各数据结构的存储方式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 先谈浅拷贝: 浅拷贝拷贝的是地址引用,可以找到共同的内容,原文件内容修改,拷贝的那份也会修改。 例子: a = [...
    段家大少xi阅读 2,629评论 0 0
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,846评论 0 5
  • 我今天又重度抑郁了 一整天都不想外出,其实我已经没有外出很多天了! 但又知道不走出去,情绪很难好起来 《freez...
    心理学者阮健阅读 2,372评论 0 0
  • 像一千只蚂蚁 在啃噬 甩不掉 像失去了关节 的木偶 动不了 像被嫩芽 顶开了土壤 让雨水冲刷 我唯一的骄傲
    今早阅读 3,465评论 0 1
  • 今天我读了《青铜葵花》这本书。40页到68页。 ...
    燕麦雪里藏阅读 1,594评论 0 0

友情链接更多精彩内容