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

    import copy
    
    """浅拷贝只拷贝外层地址,内容受外层地址内容的改变而改变;
    深拷贝是复制内容到一个新的地址,内容不受拷贝对象的更改而更改"""
    a = [11, 22]
    b = [33, 44]
    c = [a, b]#产生一个新的id
    d = copy.copy(c)#复制c的外层a,b的地址
    e = copy.deepcopy(c)#复制c的地址
    print(id(c))#1561637434056
    print(id(d))#1561637433992
    print(id(e))#1561637433928
    c.append([55, 66])#
    a.append(9)
    e.append(8)
    d[0][1]=0
    print(c)#受a,b,c的内容改变而改变  [[11, 22, 9], [33, 44], [55, 66]]
    print(d)#受a,b,d的内容改变而改变   [[11, 22, 9], [33, 44]]
    print(e)#复制了c的内容产生一个新的地址,只受e的内容改变而改变  [[11, 22], [33, 44], 8]
    print(a)#  d[0][1]=0改变了指向地址的值   [11, 0, 9]
  • 相关阅读:
    JVM
    关于filter
    session
    xml
    互联网应用和企业级项目的区别
    本学期javaee目标
    团队项目软件度量
    团队项目总结
    团队项目来换网最新
    ubuntu18.04 编译opencv4.4.0 带cuda加速,ffmpeg
  • 原文地址:https://www.cnblogs.com/xiaozeng6/p/13170691.html
Copyright © 2011-2022 走看看