百木园-与人分享,
就是让自己快乐。

Python list的深拷贝和浅拷贝

  • 深拷贝和浅拷贝

    列表存储数据,列表拷贝就是数据备份

    浅拷贝
    优点:占用内存较少
    缺点:修改深层数据,会影响原数据
    深拷贝
    优点:修改数据,互不影响
    缺点:占用内存较大

    \"\"\"
    深浅拷贝
    浅拷贝 复制 一层
    深拷贝 复制 全部
    修改拷贝后是否影响拷贝前?
    如果数据有 1份, 那么互相影响
    如果数据有 2份, 那么互不影响
    \"\"\"
    # 准备深拷贝工具
    import copy

    list_01 = [10, [20, 30]]
    list_02 = list_01 # 赋值
    list_03 = list_01[:] # 切片(浅拷贝)
    list_04 = copy.deepcopy(list_01) # 深拷贝

    list_02[0] = 10000 # 因为数据1份,所以互相影响
    list_02[1][0] = 20000

    list_03[0] = 1000 # 修改浅拷贝浅数据不影响拷贝前的数据
    list_03[1][0] = 2000 # 修改浅拷贝深层数据影响拷贝前的数据

    list_04[0] = 100
    list_04[1][0] = 200 # 修改深拷贝后数据 不影拷贝前的数据

来源:https://www.cnblogs.com/cure/p/14839298.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Python list的深拷贝和浅拷贝

相关推荐

  • 暂无文章