a1=["a","
b","
c","aa"
]b1=a1
a1[0]="1"
(a1,b1)
此時結果為:
a1=["
1","
b","
c","aa"
]b1=["
1","
b","
c","
aa"]
當兩個列表賦值想等的話,改變其中乙個列表裡的元素,另乙個列表中的元素也會隨之變化。
a1=["a","
b","
c","aa"
]c1=a1.copy()
a1[0]="1"
(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
(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,表明他們位址相同,內容相同,也...