python的存储方式
a=1
变量a中并不是保存的1的值,而是指向1的值的索引(reference),以下两个例子可以看出:
a=1
b=a
a=2
print(a)//2
print(b)//1
a=[1,2,3]
b=a
a=[4,5,6]
print(a)//[4,5,6]
print(b)//[1,2,3]
copy,deepcopy
import copy
ori = [1,2,[3,4]]
f=copy.copy(ori)
s =copy.deepcopy(ori)
ori[0]=5
ori[2][1]=6
print(ori)//[5, 2, [3, 6]]
print(f)//[1, 2, [3, 6]]
print(s)//[1, 2, [3, 4]]
copy()函数并不会复制嵌套在列表里面的复杂对象,而deepcopy会全部复制出来一份