zoukankan      html  css  js  c++  java
  • 列表(三)-深浅拷贝

    赋值:修改原列表会影响赋值列表

    浅拷贝:只拷贝列表的最外层,内部全部引用,修改最外层列表,不会影响,修改内层对象会影响浅拷贝对象。

    深拷贝:拷贝所有可变类型,原列表 不影响深拷贝对象

    l1 = [1,2,3,[4,5]]
    print(id(l1))
    
    # 赋值操作:改变其中一个,会影响另一个变量
    l2 = l1
    
    # 浅拷贝
    l3 = l1.copy()
    
    # 深拷贝
    import copy
    l4 = copy.deepcopy(l1)
    
    
    l1.append(6)
    print(l1)   # [1,2,3,[4,5],6]
    print(l2)   # [1,2,3,[4,5],6]
    print(l3)  #  [1,2,3,[4,5]]
    print(l4)  #  [1,2,3,[4,5]]
    
    l1[3].append(6)
    
    print(l1)  # [1,2,3,[4,5,6]]
    print(l2)  # [1,2,3,[4,5,6]]
    print(l3) # [1,2,3,[4,5,6]]
    print(l4)  # [1,2,3,[4,5]]
    

    图解


    赋值: l1.append(6)

    赋值:l1[3].append(6)

    浅拷贝: l1.append(6)

    浅拷贝:l1[3].append(6)

    深拷贝 : l1.append(6)

    深拷贝:l1[3].append(6)

  • 相关阅读:
    拉格朗日乘子法
    EM算法
    最大似然估计
    理解先验概率 后验概率 似然函数
    似然函数理解
    markdown 语法规则
    bash101总结
    hmm和Veterbi算法(一)
    Kaldi 安装
    通俗的解释交叉熵与相对熵
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14063109.html
Copyright © 2011-2022 走看看