python入門之深淺copy

2022-01-10 12:30:55 字數 1230 閱讀 7544

a1=["

a","

b","

c","aa"

]b1=a1

a1[0]="1"

print

(a1,b1)

此時結果為:

a1=["

1","

b","

c","aa"

]b1=["

1","

b","

c","

aa"]

當兩個列表賦值想等的話,改變其中乙個列表裡的元素,另乙個列表中的元素也會隨之變化。

a1=["

a","

b","

c","aa"

]c1=a1.copy()

a1[0]="1"

print

(a1,c1)

此時結果為:

a1=["

1","

b","

c","aa"

]b1=["

a","

b","

c","

aa"]

a1=["

a","

b","

c","

aa",["

gaohui

",21]]

d1=a1.copy()

a1[-1][0]="

hong

"print

(a1,d1)

此時結果為:

a1=["

a","

b","

c","

aa",["

hong

",21]]

d1=["

a","

b","

c","

aa",["

gaohui

",21]]

淺copy:

1.是把列表本身獨立,裡面的元素是被兩個列表共享的

2.當其中乙個列表中的元素被改變時,另乙個列表中的元素不會隨之變化。

3.當列表裡面還有列表時,修改內部列表的內容時,另乙個列表中的內部列表也會隨之變化

深copy:

import copy

列表=copy.deepcopy(列表)

當用到深copy時,兩個列表的所有內容都是獨立的,沒有任何關係。

補充 python深淺copy

name liming lilongfei duanwenchao tangeng 11 yuxiaobin name2 name.copy 淺copy,只copy第一層 print name print name2 name 1 haha 當修改name的第一層時,name2不發生變化 name ...

python 深淺copy總結

總結 總結 假設l1為原資料,l2為deepcopy後的資料 1.淺copy,只能改變第一層的記憶體位址 不可變資料型別除外 2.深copy,能夠改變第一層和第二層的記憶體位址 不可變資料型別除外 3.不可變型別,位址不會發生變化,且不可使用copy 可以使用copy.deepcopy 4.對dee...

Python賦值 深淺copy

在 python 中,物件的賦值就是簡單的物件引用,這點和 c 不同,如下所示 a 1,2,hello python c b a在上述情況下,a 和 b 是一樣的,他們指向同一片記憶體,b 不過是 a 的別名,是引用.我們可以使用 b is a 去判斷,返回 true,表明他們位址相同,內容相同,也...