トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

ディクショナリーのコピー.py

[Python]

import copy

shallowly_copied_dict = copy.copy(original_dict)
deeply_copied_dict = copy.deepcopy(original_dict)

deepcopyは、リストやディクショナリーの値が可変オブジェクトのときに、その値となっている可変オブジェクトもコピーしたい場合に使う。

浅いコピーだと、「可変オブジェクトへの参照」が値としてセットされるので、shallowly_copied_dict内の可変オブジェクトを変更すると、oribinal_dict内の値まで変わってしまい(逆も真)、びっくりする。