美文网首页
2018-09-27

2018-09-27

作者: iqunqunqun | 来源:发表于2018-09-27 20:17 被阅读12次

copy的问题


copy.copy返回浅copy

copy.deepcopy返回深copy

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

结果:

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

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

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

相关文章

网友评论

      本文标题:2018-09-27

      本文链接:https://www.haomeiwen.com/subject/dpjyoftx.html