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

    深拷贝 与 浅拷贝

    a = 19
    b = a
    a = 20
    print(b)
    
    lst = [1,2,3]
    lst2 = lst
    lst.append(4)
    print(lst)
    

    (1) 浅拷贝 (只拷贝一级,其他的层级沿用以前的数据)

    lst = [1,2,3]
    # 方法一.列表.copy()
    lst2 = lst.copy()
    lst.append(5)
    print(lst2)
    print(lst)
    
    # 方法二 . copy.copy(列表)
    import copy
    lst = [1,2,3]
    '''copy 模块 . copy()方法'''
    lst2 = copy.copy(lst)
    lst.append(6)
    print(lst2)
    

    (2) 深拷贝 (所有层级,全部都拷贝一份,形成独立的副本)

    # 深拷贝语法
    lst = [1,2,3,[4,5,6]]
    lst2 = copy.deepcopy(lst)
    lst[-1].insert(1,888)
    print(lst)
    print(lst2)
    
    # 深拷贝可以应用在字典中;
    dic = {'a':1,'b':[1,2,3]}
    dic2 = copy.deepcopy(dic)
    dic['b'].append(4)
    print(dic2)
    # copy 和 deepcopy 谁更快? copy速度更快!
    
  • 相关阅读:
    第四章
    第二章
    第三章
    第一章
    第十章心得
    第九章心得
    第八章心得
    第七章心得
    第六章心得
    第五章心得
  • 原文地址:https://www.cnblogs.com/CrownYP/p/11342738.html
Copyright © 2011-2022 走看看