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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。