copy的问题
Posted iqunqunqun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了copy的问题相关的知识,希望对你有一定的参考价值。
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 i‘m x: {‘name‘: ‘Lily‘, ‘num‘: [1, 3, 2, 3]} 2 i‘m y: {‘name‘: ‘Ivan‘, ‘num‘: [1, 3, 2, 3]} 3 i‘m z: {‘name‘: ‘Ivan‘, ‘num‘: [1, 2, 3]}
通过实例结果显而易见,深copy就相当于windows里面的复制粘贴,两个是完全独立的,各自修改都不会影响对方;对于浅copy,x修改了name值,但是y依旧是原值,说明浅copy替换值时,两个字典不受影响,而当进行修改值时(比如说增加或删减),y字典就受到原字典的影响,会跟原字典进行一样的操作。
这是个人理解,如有不对,请不吝赐教。
以上是关于copy的问题的主要内容,如果未能解决你的问题,请参考以下文章