• python 对象克隆


    • copy.copy(x): 返回x的浅层复制
    • copy.deepcopy(x): 返回x的深层复制

    一个 浅层复制 会构造一个新的复合对象,然后(在可能的范围内)将原对象中找到的 引用 插入其中。
    一个 深层复制 会构造一个新的复合对象,然后递归地将原始对象中所找到的对象的 副本 插入。

    深度复制操作通常存在两个问题, 而浅层复制操作并不存在这些问题:

    • 递归对象 (直接或间接包含对自身引用的复合对象) 可能会导致递归循环。
    • 由于深层复制会复制所有内容,因此可能会过多复制(例如本应该在副本之间共享的数据)。
    import copy
    
    a = {"a": 1}
    b = {"a": a}
    
    c = b.copy()
    a['a'] = 10
    
    print(b)    # {'a': {'a': 10}}
    print(c)    # {'a': {'a': 10}}
    
    
    c = copy.deepcopy(b)
    a['a'] = 1
    print(b)    # {'a': {'a': 1}}
    print(c)    # {'a': {'a': 10}}
    
    
  • 相关阅读:
    基于http实现网络yum源搭建
    基于长轮询简易版聊天室
    放大镜案例
    弹出登录框
    拖拽案例
    js入门之DOM动态创建数据
    heoi2020游记
    省选模拟6&7
    省选模拟5
    后缀自动机总结
  • 原文地址:https://www.cnblogs.com/iFanLiwei/p/12833840.html
Copyright © 2020-2023  润新知