# 將a賦值給b,改變a的第一個元素,b的第一個元素隨之改變 a = [1, 2, 3] b = a print(b) #[1, 2, 3] a[0] = 0 print(a) #[0, 2, 3] b #[0, 2, 3]
# 2.1 淺拷貝 切片 [::] [開始:結束:步進]python
a = [1, 2, 3] b = a[::] # 這裏就是複製了一份a print(b) #[1, 2, 3] a[0] = 0 print(a) [0, 2, 3] print(b) [1, 2, 3] # 問題:b = a[::]只是表層拷貝,裏面的列表只是複製了一個引用出來,這兩個引用指向的地址是同樣的,改了其中一個,固然另外一個也跟着變了 a = [0, [1, 2], 3] b = a[::] a #[0, [1, 2], 3] b #[0, [1, 2], 3] a[0] = 1 a #[1, [1, 2], 3] b #[0, [1, 2], 3] a[1][0] = 0 a #[1, [0, 2], 3] b #[0, [0, 2], 3]
# 2.2 深拷貝code
import copy b = copy.deepcopy(a) b = copy.copy(a) #此爲淺拷貝