python列表切片是深拷贝还是浅拷贝,Python中切片

  python列表切片是深拷贝还是浅拷贝,Python中切片

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

  1、浅拷贝说明

  浅拷贝,拷贝最外面的对象本身,内部元素只是拷贝一个引用。即复制一次对象,但不复制对象中引用的其他对象。

  2、切片拷贝实例

  切片操作的返回结果是一个新的独立序列。以榜单为例。链表切片后,仍然是一个链表,占用一个新的内存地址。

  当切片的结果取出时,它是一个独立的对象,因此可以用于赋值操作或其他传递值的场景。但是,切片只是它拷贝的是原列表中元素的引用,的一个浅层拷贝,所以当有变长对象的元素时,新链表将以原链表为准。

  李=[1,2,3,4]

  ls=李[:]

  li==ls#True

  id(li)==id(ls)#False

  li.append(li[2:4])#[1,2,3,4,[3,4]]

  ls.extend(ls[2:4])#[1,2,3,4,3,4]

  #下面这个例子相当于判断李的长度是否大于8。

  if(李[8:]):

  打印( notempty )

  else:

  打印(“空”)

  #切片列表以原始列表为准

  lo=[1,[1,1],2,3]

  lp=lo[:2]#[1,[1,1]]

  lo[1]。追加(1)#[1,[1,1,1],2,3]

  Lp#[1,[1,1,1]]因为可见,所以把切片结果拿出来。可以作为独立对象使用,但也要注意是否把变长对象的元素取出来。

  以上是python中切片的浅拷贝探索。如何抄切片,相信大家都讲清楚了。如果不理解文章内容,可以先复习一下基本概念。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: