ディクショナリーのコピー.pyの変更点
- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
{{category Python}} import copy shallowly_copied_dict = copy.copy(original_dict) deeply_copied_dict = copy.deepcopy(original_dict)deepcopyは、リストやディクショナリーの値が可変オブジェクトのときに、オブジェクトをコピーしたい場合に使う。deepcopyは、リストやディクショナリーの値が可変オブジェクトのときに、その値となっている可変オブジェクトもコピーしたい場合に使う。 浅いコピーだと、「可変オブジェクトへの参照」が値としてセットされるので、shallowly_copied_dict内の可変オブジェクトを変更すると、oribinal_dict内の値まで変わってしまい(逆も真)、びっくりする。