python字典副本_如何复制字典并仅在Python中编辑副本?

python字典副本

Python never implicitly copies the dictionary or any objects. So, while we set dict2 = dict1, we're making them refer to the same dictionary object. Hence, even when we mutate the dictionary, all the references made to it, keep referring to the object in its current state.

Python绝不会隐式复制字典或任何对象。 因此,当我们设置dict2 = dict1时 ,我们使它们引用相同的字典对象。 因此,即使我们对字典进行了变异,对其的所有引用也会继续引用该对象的当前状态。

dict1 = {"key1": "abc", "key2": "efg"}
dict2 = dict1
print(dict1)
print(dict2)
dict2['key2'] = 'pqr'
print(dict1)
print(dict2)

Output

输出量

{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'pqr'}
{'key1': 'abc', 'key2': 'pqr'}

To copy a dictionary, either uses a shallow copy or deep copy approach, as explained in the below example.

复制字典 ,请使用浅层复制或深层复制方法 ,如以下示例中所述。

使用浅拷贝 (Using shallow copy)

dict1 = {"key1": "abc", "key2": "efg"}
print(dict1)
dict3 = dict1.copy()
print(dict3)
dict3['key2'] = 'xyz'
print(dict1)
print(dict3)

Output

输出量

{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'xyz'}

使用深度复制 (Using deep copy)

import copy
dict1 = {"key1": "abc", "key2": "efg"}
print(dict1)
dict4 = copy.deepcopy(dict1)
print(dict4)
dict4['key2'] = 'test1'
print(dict4)
print(dict1)

Output

输出量

{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'efg'}
{'key1': 'abc', 'key2': 'test1'}
{'key1': 'abc', 'key2': 'efg'}

翻译自: https://www.includehelp.com/python/how-to-copy-a-dictionary-and-only-edit-the-copy.aspx

python字典副本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英特尔核芯显卡控制面板没有了_核显和独显、集成显卡有什么区别

集成显卡:一般不带有显存,而是使用系统的一部分主内bai存作为显存,具体的数量一般是系统根据需要自动动态调整的。显然,如果使用集成显卡运行需要大量占用内存的空间,对整个系统的影响会比较明显,此外系统内…

徐州初中计算机学校排名2015,徐州初中学校排名,徐州重点初中排名详细榜单

2018年徐州初中学校排名,徐州重点初中排名详细榜单孩子小升初,几乎所有的家长都会陷入纠结,都想为孩子选择一所“好学校”,在择校过程中,家长们总想知道徐州初中学校排名以及徐州重点初中排名详细榜单,但这里小编提醒一…

分布式计算 MapReduce与yarn工作机制

一、第一代hadoop组成与结构第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中,HDFS由一个NameNode和多个DataNode组成,MapReduce由一个JobTracker和多个TaskTracker组成,对应Hadoop版本为Hadoop …

c++ stl队列初始化_创建一个向量,并将其像C ++ STL中的数组一样初始化

c stl队列初始化向量是什么? (What is the vector?) Vector is a container in C STL, it is used to represent array and its size can be changed. Vector是C STL中的一个容器,用于表示数组,并且其大小可以更改。 Read more: C STL Vec…

计算机无法上无线网络连接到internet,电脑连接不上无线网络,教您怎么解决电脑连接不上无线网络...

小编家的那位笔记本姐姐之前可能是受委屈了,一个一个的电脑问题丢出来给我解决。之前有段时间总是出现电脑连接不上无线网络的问题,弄得那短时间天天都在想办法是解决。现在,我就要将这种解决方法分享给你们,让你们在遇到这个问题…

格兰杰因果关系检验_混频(mixed frequency)数据的格兰杰因果(Grange causality)检验及其Matlab实现...

格兰杰和格兰杰因果网络搜到的Grange大神标准照格兰杰1934年9月出生于英国威尔士的斯旺西,早期就读于诺丁汉大学,接受当时英国第一个经济学数学双学位教育,1955年留校任教,1957年在天文学杂志上他发表了第一篇论文:“关…

C#Convert.ToInt32(byte)方法-将字节值转换为int

C#Convert.ToInt32(byte)方法 (C# Convert.ToInt32(byte) Method) Convert.ToInt32(byte) Method is used to convert a specific byte value to its equivalent integer (int 32 signed number). Convert.ToInt32(byte)方法用于将特定的字节值转换为其等效的整数(i…

后台窗口截图_万人拥捧的截图软件来啦!让你的工作效率提升不止一倍!

文章来自微信公众号:小七有料直接进入正题,今天不野给大家分享两款截图软件——Snipaste和FastStone Capture,前者与其说是一个截图软件,我更愿意称之为贴图软件。两者都在工作中很大程度提高了我的效率,也简便化了我很…

ibm nvidia 超级计算机,IBM,Nvidia和美国能源部组成一个超级计算机超级团队

CNET技术信息网7月15日国际报道: IBM将与Nvidia和美国能源部合作建立两个新的杰出超级计算机中心. 这项合作的工作主要集中在两个方面,一个是确保应用程序可以充分利用超级计算机的强大性能,另一个是收集开发人员,工程师和科学家的反馈.这两个…

C#Convert.ToInt32(char)方法-将char值转换为int

C#Convert.ToInt32(char)方法 (C# Convert.ToInt32(char) Method) Convert.ToInt32(char) Method is used to convert a specific char value to its equivalent integer (int 32 signed number) (It can also be known as ASCII value). Convert.ToInt32(char)方法…

华为p40论坛_华为高端旗舰继续发力!麒麟990 5G+超感知三摄,256GB降价799元

小米10、一加8,vivo NEX3S等高性能旗舰产品现已在市场上发售。其中,5G旗舰华为P40也在销售团队中,并且最近成为最受欢迎的旗舰产品。由于华为P40高端版从799元跌至4189元,消费者可以以不到800元的价格购买低价高性能旗舰产品&…

计算机基础.doc,大学生计算机基础.doc

WORD格式 整理分享范文范例 参考指导电子计算机的诞生1计算机的发展经历了4个时代,各个时代划分的原则是根据( )。A、计算机所采用的电子器件B、计算机的运算速度C、程序设计语言D、计算机的存储量正确答案:A?2世界上第一台电子计算机诞生于( )年。A、1…

移动端类似IOS的滚动年月控件(需要jQuery和iScroll)

http://www.cnblogs.com/ccblogs/p/5260949.html 一. 效果图 二. 功能介绍 支持滚动和点击选择年月。&#xff08;目前只支持设置年月的最大最小值&#xff0c;不支持整体的最大最小值&#xff09; 三. 代码 1. 在你的html中添加如下代码&#xff1a; 直接加载<body>里面…

css 横向滚动隐藏滚动条_使用CSS滚动时如何隐藏滚动条?

css 横向滚动隐藏滚动条Introduction: 介绍&#xff1a; It is always nice to have a responsive website or web page, to create such websites or web pages we have to make use of our developing skills to a great extent to bring about the functionality as well a…

DrawerLayout侧滑详解

前面我们说了自定义侧滑菜单&#xff0c;也说了SlidingMenu的使用&#xff0c;这一节我们再来说下DrawerLayout。DrawerLayout是Support Library包中实现了侧滑菜单效果的控件&#xff0c;可以说DrawerLayout是因为第三方控件如SlidingMenu等出现之后&#xff0c;google借鉴而出…

华为笔记本计算机在哪,新一代华为MateBook 的机会在哪里?

2017年5月23日 在德国柏林&#xff0c;华为正式面向全球消费者发布了MateBook系列新品——13英寸灵动商务笔记本MateBook X、12英寸时尚二合一笔记本MateBook E及15.6英寸商务影音笔记本MateBook D。今天笔记本市场似乎是一个比较稳定的市场&#xff0c;笔记本的销量增长不快&a…

python 字符串 变量_检查变量是否为字符串的Python程序

python 字符串 变量Python | 检查变量是否为字符串 (Python | Check if a variable is a string) To check whether a defined variable is a string type or not, we can use two functions which are Python library functions, 要检查定义的变量是否为字符串类型&#xff0c…

mysql shell

mysql 查询10分钟以内的数据:select *from t_agent where int_last_login>CURRENT_TIMESTAMP - INTERVAL 10 MINUTE; mysql关联多表进行update更新操作UPDATE TrackINNER JOIN MVON Track.trkidMV.mvidSET Track.is_showMV.is_showWHERE trkid<6等同于UPDATE Track,MVSET…

kaggle计算机视觉比赛技巧,9. 计算机视觉 - 9.12. 实战Kaggle比赛:图像分类(CIFAR-10) - 《动手学深度学习》 - 书栈网 · BookStack...

9.12. 实战Kaggle比赛&#xff1a;图像分类(CIFAR-10)到目前为止&#xff0c;我们一直在用Gluon的data包直接获取NDArray格式的图像数据集。然而&#xff0c;实际中的图像数据集往往是以图像文件的形式存在的。在本节中&#xff0c;我们将从原始的图像文件开始&#xff0c;一步…

qthread中获取当前优先级_Linux中强大的top命令

top命令算是最直观、好用的查看服务器负载的命令了。它实时动态刷新显示服务器状态信息&#xff0c;且可以通过交互式命令自定义显示内容&#xff0c;非常强大。在终端中输入top&#xff0c;回车后会显示如下内容&#xff1a;top - 21:48:39 up 8:57, 2 users, load average: 0…