Python辞書での浅いコピーの理解:コピーの更新が元の
をPython辞書を使用する場合、浅瀬と深いコピーの区別を理解することが重要です。浅いコピーは、元の辞書と同じオブジェクトへの参照を含む新しい辞書を作成しますが、ディープコピーはオブジェクトのコピーを含む新しい辞書を作成します。これは、新しい辞書には、元の辞書に保存されている同じオブジェクトへの参照が含まれることを意味します。その結果、コピーに加えられた変更は、元の辞書にも反映されます。 new = original.copy() new.update({'c':3}) 印刷(オリジナル)#{'A':1、 'B':2} print(new)#{'a':1、 'c':3、 'b':2}
この例では、dict.copy()メソッドは、元の辞書と同じオブジェクトへの参照を含む新しい辞書を作成します。 {'c':3}でコピーを更新すると、元のコピーとコピーの両方がこの変更を反映しています。コピーを更新すると、実際のオブジェクトは変更されませんが、参照のみを変更しています。リストのコピーを更新すると、リスト内の要素を更新します。これは、コピーとオリジナルの両方に影響します。この関数は、辞書内のすべてのオブジェクトを再帰的にコピーして、明確な参照を持つ新しい構造を作成します。 original = {'a':1、 'b':2} new = copy.deepcopy(original) new.update({'c':3}) 印刷(オリジナル)#{'A':1、 'B':2} print(new)#{'a':1、 'c':3、 'b':2} この例では、copy.deepcopy()関数は、元の辞書にオブジェクトのコピーを含む新しい辞書(新しい辞書)を作成します。コピーを更新すると、元の辞書は影響を受けません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3