有三种情况
第一种:赋值(不是拷贝)
a=[1,2,3]
b=a
这种不是拷贝,a和b是一个变量,内存是一个
第二种:浅拷贝
a=[1,2,3,[4,5,6]]
b=a
b的第一层是独立的,第二层会更跟着a变
如
a=[1,2,[3,4],5,6] b=a.copy() a[0]=9 a[2][1]=8 print(a) print(b)
输出
[9, 2, [3, 8], 5, 6]
[1, 2, [3, 8], 5, 6]
浅拷贝的第二种方式 b=a[:]
第三种 深拷贝
b的所有层都是独立的
import copy a=[1,2,[3,4],5,6] b=copy.deepcopy(a) a[0]=9 a[2][1]=8 print(a) print(b)
输出
[9, 2, [3, 8], 5, 6]
[1, 2, [3, 4], 5, 6]