python中如何使用浅拷贝与深拷贝模块-创新互联

小编给大家分享一下python中如何使用浅拷贝与深拷贝模块,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、肥西网站维护、网站推广。

Python中可以使用copy模块进行拷贝

l copy.copy:浅拷贝,只对当前对象进行拷贝,没有对子元素进行拷贝

l copy.deepcopy:深拷贝,对象及其子对象

看一个例子:

import copy
p1 = [[1,2],4]
p2 = copy.copy(p1)
p3 = copy.deepcopy(p1)
#先来看地址:
print('%x %x %x'%(id(p1),id(p2),id(p3)))
#在来看第一个元素地址:
print('%x %x %x'%(id(p1[0]),id(p2[0]),id(p3[0])))
#对子列表修改
p1[0][0] = 10
p2[1] = -1
p3[0][1] = 100
print('p1:',p1)
print('p2:',p2)
print('p3:',p3)

可以看到:

l p1与p2的第一个元素:列表,是一个对象,对其修改会影响p1,p2

l p1,p2与p3的第一个元素不是同一个元素,所以修改对p3不会有影响

l p1,p2,p3中的第二个元素为数字,所以修改任意一个,不会对其他造成影响

问题实质:

l 迭代对象中的元素是否可变(列表,字典等),可变就使用深拷贝,

l 浅拷贝操作:copy.copy,list, dict等

以上是python中如何使用浅拷贝与深拷贝模块的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站题目:python中如何使用浅拷贝与深拷贝模块-创新互联
转载源于:http://bzwzjz.com/article/ddishe.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: H5网站制作 成都网站设计 高端网站建设 专业网站设计 定制网站建设多少钱 成都网站建设 成都网站制作 成都网站建设公司 网站建设方案 LED网站设计方案 响应式网站设计方案 重庆网站制作 高端网站设计 重庆企业网站建设 重庆网站制作 专业网站建设 企业手机网站建设 网站制作 网站制作报价 成都网站建设 高端定制网站设计 成都网站建设