码迷,mamicode.com
首页 > 其他好文 > 详细

copy的问题

时间:2018-07-03 14:56:04      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:class   pre   port   name   操作   print   int   字典   个人   

copy.copy返回浅copy

copy.deepcopy返回深copy

1 from copy import deepcopy
2 x = {name:Ivan,num:[1,2,3]}
3 y = x.copy()
4 z = deepcopy(x)
5 x[name] = Lily
6 x[num].insert(1,3)
7 print("i‘m x:",x)
8 print("i‘m y:",y)
9 print("i‘m z:",z)

结果:

1 im x: {name: Lily, num: [1, 3, 2, 3]}
2 im y: {name: Ivan, num: [1, 3, 2, 3]}
3 im z: {name: Ivan, num: [1, 2, 3]}

通过实例结果显而易见,深copy就相当于windows里面的复制粘贴,两个是完全独立的,各自修改都不会影响对方;对于浅copy,x修改了name值,但是y依旧是原值,说明浅copy替换值时,两个字典不受影响,而当进行修改值时(比如说增加或删减),y字典就受到原字典的影响,会跟原字典进行一样的操作。

 

这是个人理解,如有不对,请不吝赐教。

copy的问题

标签:class   pre   port   name   操作   print   int   字典   个人   

原文地址:https://www.cnblogs.com/iqunqunqun/p/9257844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!