對於list的複製問題

在Python中我們經常會遇到一個問題就是明明對一個list進行了重新的賦值運算可是最終原來的list還是發生了改變。

例如:

a = [1,2,3]
b = a
b[0] = 4
print(b)
print(a)

結果爲

[4, 2, 3]
[4, 2, 3]

若改爲

a = [1,2,3]
b = list(a)
b[0] = 4
print(b)
print(a)

[4, 2, 3]
[1, 2, 3]

說實話 我也不知道爲何這樣就實現了一個copy。
我感覺是b = list(a)這句代碼中 list(a)重新創建了一個list,這個list和a的list所佔內存不同,故在對b進行操作時,不影響a
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章