pyの深浅コピー

448 ワード

リストがスライスされた後に得られるのは新しいリストであり、前のリストと同じメモリアドレス1ではなく、割り当てられた値であり、新しいオブジェクト2、浅いコピーは作成されず、第1層の内容のみがコピーされる:コピー後の2つのオブジェクトの第1層のメモリアドレスは異なる
#     
lst = [11,22,33,44,55,[66,77,88]]
li = lst[ : ]
#     
lst = [11,22,33,44,55,[66,77,88]]
li = lst.copy()

3、深くコピーして、この対象の内部に関連する内容を全部コピーして、内部の何層の内容に関わらず、コピーした後にすべて新しいメモリアドレスがあります
#     
import copy
lst = [11,22,33,44,55,[66,77,88]]
li = copy.deepcopy(lst)