首页 > 其他 > 详细

深拷贝浅拷贝

时间:2020-08-22 18:38:07      阅读:66      评论:0      收藏:0      [点我收藏+]

深拷贝:

l = [0,1,2,2,3,4,5,6,7,8,9]
#    0 1 2 3 4 5 6 7 8 9 10
import copy
l2 = copy.deepcopy(l)#深拷贝,内存地址不一样

浅拷贝:

l = [0,1,2,2,3,4,5,6,7,8,9]
#    0 1 2 3 4 5 6 7 8 9 10
l3 = l #浅拷贝,内存地址一样
l4 = l.copy()#多层修改时会出问题

例子:


l = [0,1,2,2,3,4,5,6,7,8,9]
#循环删元素,只有一个列表会出错,需要2个list
 for i in l :
     if i % 2 == 0:
         l.remove(i)
print(l)

#这里如果用拷贝,一定用深拷贝,因为深拷贝的内存地址不同
l2 = [0,1,2,2,3,4,5,6,7,8,9]
for i in l2 :
if i % 2 == 0:
l.remove(i)
print(l)

 

深拷贝浅拷贝

原文:https://www.cnblogs.com/Mezhou/p/13546516.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!