关于列表的切片拷贝

mac2024-10-11  56

#通过 id 可直接判断数据是否相同

L=[1,2,3,4,5] # 这里的L 是一块内存 LL = L[:] # 这里切片的时候就是划分出另一块内存,LL指向了这块重新划分的内存,但是L和LL这两块内存数据是一样的, LLL = LL #这里LLL 和 LL 是一块内存,数据一样 print (id(L)) print (id(LL)) print (id(LLL))

##通过 id 知道,LL 和 LLL 是一份数据,验证代码如下:

L[1] = 100 print(L) print (LL)

#这里不是全部局部的问题,这里是两块内存 L指向了是一块内存 LL和LLL指向的是一块内存,这两块内存独立,所以L改变,LL 不改变

LL[1]=100 print(LL) print(LLL)

#同理,LL改变,LLL也会改变,这是同一块内存

最新回复(0)