zoukankan      html  css  js  c++  java
  • Python细节(一)深浅拷贝

    深浅拷贝

    只要涉及拷贝,就会涉及创建新对象

    浅拷贝,会创建一个新的容器,列表中的元素和原列表的元素用的是同一个内存空间

    第一种方法:从头切到尾,完整的复制一份

    lst = [1,2,3,4]
    lst1 = lst[:]			#从头切到尾,重新完整的复制了一份
    print(lst,lst1)
    

    第二种方法:.copy

    lst1 = lst.copy()		#创建对象的速度,会很快
    

    深拷贝,拷贝的是表面,和深层的东西

    不可变的数据类型和原列表指向的是同一个内存空间,可变数据类型会创建一个新的空间

    import copy
    lst = [1,2,[3,4],5]
    lst2 = copy.deepcopy(lst)		#copy.deepcopy 深拷贝
    print(id(lst1[1]),id(lst[1])	#肯定不一样d's
    

    1.赋值没有创建新对象,多个变量共享一个内容

    2.浅拷贝,会创建新对象,新对象里面的内容不会被拷贝

    3.深拷贝,创建一个一摸一样完全新的对象 不可变对象,还是原来的,可变对象创建新的

    当你的才华还撑不起你的野心的时候,你就应该静下心来学习; 当你的能力还驾驭不了你的目标时,就应该沉下心来历练。
  • 相关阅读:
    hutool工具
    lombok
    混入
    postMan
    jsr303常用注解
    网页兼容性
    C/C++ 一点笔记(1)
    VS2010 灵活运用快捷操作功能(新手必看)
    HTML中meta作用
    C/C++ 一点笔记(2)
  • 原文地址:https://www.cnblogs.com/llwwhh/p/11048245.html
Copyright © 2011-2022 走看看