• python深浅拷贝


    赋值引用,多变量使用同内存。对于可变数据对象,修改其中一个,影响其他。
    浅拷贝,只拷贝数据父对象,不拷贝其中子对象。
    深拷贝,拷贝对象及其子对象。

    赋值引用:(修改,所有多影响

    list1=[1,2,3]

    list2=list1

     

    浅拷贝:(只拷贝第一层,其他的层公共)

    import copy

    list1=[1,2,3]

    list2=copy.copy(list1)

    list3=list[:]

     

    深拷贝:(拷贝所有)(修改的修改,所有多不影响

    import copy

    List1 = [1, 2,3]

    List2=copy.deepcopy(List1)

     

    eg:

    list1=[1,2,3,['a',"b"],6]
    list0=list1
    list0[3][0]="b"
    print(list1)
    print(list0)
    list0[0]="b"
    print(list1)
    print(list0)

    list1=[1,2,3,['a',"b"],6]

    list2=copy.copy(list1)
    list2[3][0]="b"
    print(list1)
    print(list2)
    list2[0]="b"
    print(list1)
    print(list0)

    import copy

    list1=[1,2,3,['a',"b"],6]

    list3=list1[:]
    list3[3][0]="b"
    print(list1)
    print(list3)
    list3[0]="b"
    print(list1)
    print(list0)

    import copy

    list1=[1,2,3,['a',"b"],6]

    list4=copy.deepcopy(list1)
    list4[3][0]="b"
    print(list1)
    print(list4)
    list4[0]="b"
    print(list1)
    print(list0)

    以上代码分别执行下你就明白了!

    对于原理是很复杂的!!!!

     

     

  • 相关阅读:
    [AngularJS] Html ngSanitize, $sce
    [AngularJS] ngModelController render function
    [MODX] 3. Placeholder +
    [MODX] 2. Chunks $
    HTTP-Runoob:HTPP Content-Type
    HTTP-Runoob:HTTP状态码
    HTTP-Runoob:HTTP请求头信息
    HTTP-Runoob:HTTP请求方法
    HTTP-Runoob:HTPP消息结构
    HTTP-Runoob:HTTP简介
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/5836654.html
Copyright © 2020-2023  润新知