a =[1,2,3,[1,2,3,[5,6]]]
b=a ##普通赋值
c=a.copy()##浅拷贝
##浅拷贝只会拷贝浅层元素,即只在指向对象的第一层上进行赋值,而不会拷贝深层结构的数据。
c[3][0]=9
##在更深的层次上改变数据时,c和a的数据都会改变
import copy
a =[1,2,3,[1,2,3,[5,6]]]
b=a
c=a.copy()
c[3][0]=9
d=copy.deepcopy(a)##深拷贝,不管对象有多少层,一层一层通过迭代全都拷贝。
## d是一个全新的列表,怎么改变都不会影响之前的a
一般只有可变元素,copy()才有意义,比如说列表,集合。
而元组和常量不可变,所以不能copy