zoukankan      html  css  js  c++  java
  • 深拷贝 与浅拷贝

    # ### 深拷贝 与浅拷贝
    '''
    a = 15
    b = a
    a  = 16
    print(b)
    
    lst1 = [1,2,3]
    lst2 = lst1
    lst1.append(4)
    print(lst2)
    '''
    # 浅拷贝 只拷贝一级所有元素
    lst1 = [1,2,3]
    # lst2 = lst1
    lst2 = lst1.copy()
    print(lst2)
    lst1.append(4)
    print(lst2)
    print(lst1)
    
    # 使用模块进行浅拷贝操作
    import copy
    #copy 模块下面有一个同名的copy方法
    lst1 = [1,2,3]
    lst2 = copy.copy(lst1)
    lst1.append(5)
    print(lst2)
    
    
    # 深拷贝 将所有级别的元素统统独立拷贝一份
    '''每一级的所有元素通通拷贝一份,不沿用以前的数据'''
    # import 引入 copy 复制模块 deepcopy 深拷贝 copy 浅拷贝
    import copy  # copy.deepcopy()
    lstvar = [1,2,3,[4,5,6]]
    lstvar2 = copy.deepcopy(lstvar)
    lstvar[-1].append(7)
    print(lstvar2)
    
    dictvar = {'a':[1,2],"b":{"c":123,"d":[7,8,9]}}
    dic2 = copy.deepcopy(dictvar)
    dictvar["b"]["d"].extend("ab")
    print(dic2)
    

      

  • 相关阅读:
    初中几何
    角平分线导致的三角形内外角关系
    解方程
    初中|数学题目整理
    求一次函数解析式
    整式的四则运算
    分式方程
    做辅助线的方法
    线段相等的证明思路
    python2.7安装sqlite3模块
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/10823128.html
Copyright © 2011-2022 走看看