Python の dict を copy() と deepcopy() 複製2021年08月13日 12時37分56秒

Python では参照なので dict2 = dict1 では dict1 と dict2 は同じオブジェクトを指すことになる。オブジェクトを変更しつつ処理には、明示的な複製が必要。

まずは、浅く複製の shallow copy。

dict2 = dict1.copy()
dict 内の要素を変更しなければ、これで十分。
dict2 = dict(dict1)
コピーコンストラクタ形式も使える。

そして、要素まで深く複製する deep copy。

import copy

dict2 = copy.deepcopy( dict1 )
ライブラリの deepcopy を用いる。