发布于2019-08-07 14:18 阅读(1061) 评论(0) 点赞(5) 收藏(3)
python中深复制与浅复制的区别
深复制:即将原对象中所有的值完全复制一份放在内存中(包括可变数据类型对象),即使原对象更改,也不影响其值。
import copy
l1=[1,2,3,[1,2,3]]
l2=copy.deepcopy(l1)
l2[-1].append(4)
l1
这里l2是l1的深复制,即,代码第四行是在l2的最后一个元素添加一个数字4,但是l1的原来的内容没有发生变化,l1=[1,2,3,[1,2,3]],而l2=[1,2,3,[1,2,3,4]]
浅复制:浅复制和深复制是对应的一种复制(可能不太准确,我是这么理解的),浅复制列表时,当修改的元素为可变对象(常见的有list,dict,set),修改的操作会修改原列表。
import copy
l1=[1,2,3,[1,2,3]]
l2=copy.copy(l1)
l2[-1].append(4)
l1
这里的l2为l1的浅复制(copy),同上,但是这里与上面的不同的是,l1=[1,2,3,[1,2,3,4]],l2=[[1,2,3,[1,2,3,4]],很明显l1和l2一样的。
PS:以前看过一个表格,记录了这个深复制与浅复制的区别,忘记在哪了,找到了再来更新一下,python新手一枚,如果有写的不对地方,还请指教,谢谢
作者:pinggo
链接:https://www.pythonheidong.com/blog/article/11320/70903a13601abc1b29b9/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!