ネストされたリストのコピー: 独立性の保持
ネストされたリストを操作する場合、多くの場合、リストの独立したコピーを作成して、次のことを保証することが望ましいです。一方のリストに加えられた変更は、もう一方のリストには影響しません。これは、[:] を使用した浅いコピーで十分な 1 次元リストの場合ほど単純ではありません。
2 次元リストの場合、[:] を使用する単純なアプローチでは浅いコピーが作成されます。内部リストは、オリジナルとコピーの両方によって引き続き参照されます。その結果、コピーに加えられた変更は元のコピーに反映されます。
真の独立性を実現するには、深いコピーが必要です。これには、ネストされたリストを含むリスト内の要素ごとに新しいオブジェクトを作成することが含まれます。 copy.deepcopy() 関数は、ディープ コピーを実現する簡単な方法を提供し、オリジナルとコピーの間の参照リンクを効果的に切断します。
次のように copy.deepcopy() を使用すると、独立したコピーを作成できます。 2 次元リスト a:
import copy b = copy.deepcopy(a)
これで、b に加えられた変更は a に影響を与えず、その逆も同様です。
以上がPython でネストされたリストの完全に独立したコピーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。