当前位置: 首页 > 图灵资讯 > 行业资讯> python中切片的浅拷贝探究

python中切片的浅拷贝探究

来源:图灵python
时间: 2024-09-09 10:17:08

本文教程操作环境: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中切片的浅拷贝探索已经明确了切片的复制方法。如果不了解文章内容,可以先复习一下基本概念。