开发者社区 问答 正文

实现一个字典数据结果的深拷贝

实现一个字典数据结果的深拷贝

展开
收起
珍宝珠 2019-11-29 15:41:45 628 分享 版权
1 条回答
写回答
取消 提交回答
  • copy浅拷贝
    deepcopy深拷贝
    from copy import deepcopy
    深拷贝和浅拷贝的例子:

    data = {'user':'admin','num':[1,2,3]}
    data2 = data.copy()
    data3 = deepcopy(data)
    

    查看结果

    data['user']='root'
    data['num'].remove(1)
    print(data)
    print(data2)
    print(data3)
    

    输出结果为:

    {'user': 'root', 'num': [2, 3]}
     {'user': 'admin', 'num': [2, 3]}
     {'user': 'admin', 'num': [1, 2, 3]}
    

    总结:
    如果源拷贝对象只有一级目录的话,源做任何改动,不影响深浅拷贝对象
    如果源拷贝对象不止一级目录的话,源对一级目录的子目录做任何改动,都会影响浅拷贝,但不影响深拷贝

    2019-11-29 15:43:27
    赞同 展开评论
问答地址: