Python中深入浅析的深浅拷贝

  介绍

深入浅析Python中的深浅拷贝吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>赋值运算

 1例。给大列表添加元素
  l1=[1、2、3,[22日33]]
  l2=l1.copy ()
  #或者下面这种方式,也是浅拷贝
  #进口复制
  # l2=copy.copy (l1)
  l1.append (666)
  
  打印(l1) #(1、2、3, 22岁,33,666]
  打印(l2) #(1、2、3,[22日33]]
  
  例2. 给小列表添加元素
  l1=[1、2、3,[22日33]]
  l2=l1.copy ()
  l1 [1] .append (666)
  
  打印(l1) #(1、2、3,[22, 666年33]]
  打印(l2) #(1、2、3,[22, 666年33]],
  
  例3. 将l1列表中第一个元素改为6
  l1=[1、2、3,[22日33]]
  l2=l1.copy ()
  l1 [0]=6
  
  打印(l1) #(6、2、3,[22日33]]
  打印(l2) #(1、2、3,[22日33]]

图解:

1例深入浅析Python中的深浅复制”> </p> <p> 2例</p> <p> <img src=进口复制   l1=[1、2、3,[22日33]]   l2=copy.deepcopy (l1)   l1.append (666)   打印(l1) #(1、2、3, 22岁,33,666]   print (l2) # 1、2、3,[22日33]]

图解:

本质如下图:

深入浅析Python中的深浅复制”> </p> <p>但是Python对深拷贝做了一个优化,将可变的数据类型在内存中重新创建一份,而不可变的数据类型则沿用之前的,所以内存中是下面这样的:</p> <p> <img src=看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

Python中深入浅析的深浅拷贝