本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
1、浅拷贝说明
浅复制,复制最外围的对象本身,内部元素只是复制一个参考。也就是说,复制对象,但我不复制对象中引用的其他对象。
2、切片复制实例
切片操作的返回结果是一个新的独立序列。以列表为例,列表切片后获得的列表仍然占据了新的内存地址。
当取出切片的结果时,它是一个独立的对象,因此可以用于赋值操作或其他传输值的场景。然而,切片只是一个浅复制品,它复制了原列表中元素的参考。因此,当有变长对象的元素时,新列表将受到原列表的限制。
li=[1,2,3,4] ls=li[::] 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,34] #下一个例子等于判断li的长度是否大于8 if(li[8:]): print("notempty") else: print("empty") #切片列表受制于原列表 lo=[1,1,1],2,3] lp=lo[:[1,[1,1]] lo[1].append(1)#[1,[1,1],2,3] lp#[1,1,1]
可以看出,切片结果可以作为独立对象使用,但也要注意变长对象的元素是否被取出。
以上就是相信大家对python中切片的浅拷贝探索已经明确了切片的复制方法。如果不了解文章内容,可以先复习一下基本概念。