1. 程式人生 > 其它 >【python】賦值引用、淺拷貝、深拷貝的使用

【python】賦值引用、淺拷貝、深拷貝的使用

【個人理解】

  賦值後的變數還是指向相同的記憶體地址,也不算叫變數,相當於原有列表的別名或標籤名。

  淺拷貝:淺拷貝只會拷貝原列表最外層(父層),且套的列表指向的記憶體地址還是和原列表一致。原來的列表操作父層沒有關係,操作子層會和原列表一致。

  深拷貝:深拷貝會把父層子層都重新有新的記憶體地址,原來的列表操作和它沒有一絲關係。

【程式碼示例】

# 賦值引用、淺拷貝和深拷貝
import copy

list_demo = [1, 2, 3, [5, 6]]
Assignment = list_demo
shallow_copy = list_demo.copy()
deep_copy = copy.deepcopy(list_demo)
print('原列表%s,賦值後%s, 淺拷貝%s, 深拷貝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
print('--------------------------------------')
list_demo.append(88)
list_demo[3] .append(7)
print('原列表%s,賦值後%s, 淺拷貝%s, 深拷貝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
【執行結果】