python 切片,浅拷贝和深拷贝知识汇总
在python中,没有指针概念,但采用引用来代替这个概念。当对变量赋值时,相当于值的引用地址(类似于物理地址)存储到变量中。
浅拷贝是指拷贝数据的表层,虽是开辟空间,存储数据,但只是copy表层的数据。若数据是多层嵌套,则第二层的数据只是赋值其引用地址。
深拷贝是深层次拷贝数据,另开空间,将数据复制到这里。两个数据没有任何联系。
切片是一种浅拷贝,仅仅拷贝表层数据。
a=[1,[2,9]] b=a[-1]#切片操作,浅copy,又涉及到多层数据,因此,a,b,a[-1]所指向的地址相同都为【2,9】 def change(data): data[0],data[1]=data[1],data[0] change(b)
print(b,a)
#单切片,浅copy