「 」,copy,以及deepcopy 的區別

2021-07-29 12:43:28 字數 741 閱讀 5945

直接上**:

import

copy

name=['hubery','alex',[1

,2,3

,4],2

,1,1,'analic','feancy']

name2=name

name3=name.copy()#或者copy.copy(name)

name4=copy.deepcopy(name)

(3333)

(4444)

print(name)

print(name2)

print(name3)

print(name4)

輸出結果:

['hubery', 'alex', [1,2,3,4,4444],2,1,1, 'analic', 'feancy',3333]

['hubery', 'alex', [1,2,3,4,4444],2,1,1, 'analic', 'feancy',3333]

['hubery', 'alex', [1,2,3,4,4444],2,1,1, 'analic', 'feancy']

['hubery', 'alex', [1,2,3,4],2,1,1, 'analic', 'feancy']

說明「=」引用的是列表的位址;而copy是淺複製,更改源子列表中的內容的時,copy源列表的列表中的子列表的內容也會更改;deepcopy是深複製,不會出現上述情況

深拷貝deepcopy 淺拷貝copy的區別

python中的深淺拷貝是拷貝這個物件的引用,淺拷貝會建立新物件,是複製原物件的第一層引用,舉個例 如果列表中巢狀列表,如果改變巢狀列表中元素的值,淺拷貝的新物件中相對應的元素值會隨之改變 深拷貝拷貝物件的所有元素,包括多層巢狀的元素,建立乙個新的空間,新的記憶體位址,因此在時間的開銷上要高於淺拷貝...

deepcopy引起的LUA記憶體洩露的問題

網路遊戲專案中,lua引起的記憶體洩露的一次事故。在用lua的時候,某種情況下,很多同學都喜歡把物件拿來深度拷貝,雖然我是不太喜歡這麼幹,但專案組開發的同學比較多,也難免別人不會這麼幹。當乙個table裡存在交叉引用的時候,用deepcopy就會出現嚴重的記憶體洩露,實際證明,deepcopy並不會...

copy模組中的copy與deepcopy的區別

每空閒下來,就覺得以前寫的部落格很low.也許現在也很low 好吧就當公升級版的low吧 如果要了解copy與deepcopy的區別,就需要了解python的儲存機制 python在賦值會在記憶體裡開闢乙個空間來存放值這就叫 記憶體位址 同時會開闢乙個空間來存放名字叫命名,在資料相同長度在一定範圍 ...