美文网首页
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