天天看點

copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()

copy.copy()

元組和清單調用這個方法效果也不一樣。

元組的效果:

a = [1,2,3]
b = [4,5,6]
c = (a,b)
e = copy.copy(c)
           
copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()

可以看到:e和c是指向了同一個位址。

清單的效果:

copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()

可以看到:c和e指向了不同的位址,但是c和e裡面的内容是指向了相同的位址

copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()

copy.deepcopy()

這個是深拷貝,并且是遞歸的形式拷貝的

元組的效果:

copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()
copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()

可以看到:它是把所有的内容都進行了了深拷貝

清單的效果:

copy.copy()與copy.deepcopy()的詳解copy.copy()copy.deepcopy()

可以看到:它是把所有的内容都進行了了深拷貝

總結:copy.deepcopy()在元組和清單的嵌套上的效果是一樣的,都是進行了深拷貝(遞歸的)