1. 程式人生 > 其它 >深拷貝淺拷貝

深拷貝淺拷貝

技術標籤:python及日常測試記錄pythonpython

深拷貝淺拷貝

import copy
#迴圈刪除list的時候,會導致下標錯亂,所以不能迴圈刪除
li = [1,1,2,3,3,4,5,5,6,7,7,8,9]
#l3=[1,1,2,3,3,4,5,5,6,7,7,8,9]
l3=li
for i in l3:
    if i%2!=0:
        li.remove(i)
print(li)

1、深拷貝,拷貝出來的變數,在改變新變數數值時,舊變數完全不影響
2、淺拷貝,拷貝出來的變數在改變數值時,舊變數一維陣列不影響,二維陣列影響

lj = [1,1,2,3,3,4,5,5,6,7,7,8,9,["a","b","c"]]
l5=copy.deepcopy(lj)#深拷貝
l4=copy.copy(lj)#淺拷貝

l5[-1].append("d")
l5.append(3333)
print("l5的值:",l5)
print("lj的值:",lj)


l4[-1].append("d")
l4.append(3333)
print("l4的值:",l4)
print("lj的值:",lj)