python中複製、淺層拷貝、深層拷貝的區別
一、學習要點:
1.python中的複製與拷貝的區別
2.python中淺層拷貝與深層拷貝的區別
二、代碼:
import copy
a=[1,2,3,4,['a','b']]
b=a
c=copy.copy(a)
d=copy.deepcopy(a)
a.append(5)
print(a)
print(b)
print(c)
print(d)
a[4].append('c')
print(a)
print(b)
print(c)
print(d)
三、運行結果:
四、注意要點:
1.外層添加元素時,淺拷貝c不會隨原列表a變化而變化;內層list添加元素時,淺拷貝纔會變化。
2.無論原列表a如何變化,深拷貝d都不會發生變化。
3.賦值對象指向原對象,賦值對象隨原列表一起變化。