首页 > 编程语言 > 详细

深浅拷贝 python

时间:2021-01-18 19:47:05      阅读:26      评论:0      收藏:0      [点我收藏+]
 1 #深浅拷贝
 2  #浅拷贝1   1、直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。
 3 
 4 li1 =[1, 2, 3]
 5 li2 = li1.copy()
 6 li1.append(4)
 7 print(fli1:{li1}, id:{id(li1)})
 8 print(fli2:{li2}, id:{id(li2)})
 9 print(* * 100)
10 
11  #浅拷贝2  (只拷贝最边一层) 2、copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变。
12 l1 =[1, 2, 3, []]
13 l2 = l1.copy()
14 
15 l1[-1].append(a)
16 l1.append(4)
17 
18 print(fid of l1:{id(l1)}, id of l2:{id(l2)})
19 print(fl1:{l1}, id:{id(l1[-1])})
20 print(fl2:{l2}, id:{id(l2[-1])})
21 print(* * 100)
22 
23 #深拷贝  (无论多少层 都能拷贝出来)   3、深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变。
24 
25 import copy
26 list1 =[1, 2, 3, []]
27 list2 = copy.deepcopy(list1)
28 list1[-1].append(拷贝)
29 print(flist1:{list1}, id:{id(list1[-1])})
30 print(flist2:{list2}, id:{id(list2[-1])})

 

深浅拷贝 python

原文:https://www.cnblogs.com/z20010906/p/14293585.html

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