ネストされたリストのコピー: データ操作の独立性の実現
Python では、スライス代入演算子 ([ :])。ただし、この方法では、入れ子になったリスト (2D 以上) を扱う場合、データの独立性を維持できません。この問題は、最初の割り当て中に確立された相互接続されたメモリ参照から発生します。
a = [[1, 2],[3, 4]]
b = a[:]
値ではなく参照が重複するため、b に加えられた変更は誤って a に反映されてしまいます。この問題を回避するために、Python はディープ コピーに特化したユーティリティ copy.deepcopy() 関数を提供します。
import copy
b = copy.deepcopy(a)
スライスとは異なります。メソッド copy.deepcopy() は、ネストされた構造を再帰的に走査し、元のオブジェクトとはまったく別の新しいオブジェクトを作成します。これにより、b への変更はすべて分離されたままとなり、a の整合性が維持されます。
copy.deepcopy() を使用すると、ネストされたリストを自信を持って複製でき、データの独立性が保護され、データ操作における比類のない柔軟性が可能になります。
以上がPython でネストされたリストを個別にコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。