ホームページ >バックエンド開発 >Python チュートリアル >Python でリストの不変のコピーを作成するにはどうすればよいですか?

Python でリストの不変のコピーを作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-24 03:37:14820ブラウズ

How Can I Create an Immutable Copy of a List in Python?

不変リストのコピーの作成

Python では、new_list = my_list のようにリスト参照を割り当てるときに、new_list への変更が驚くほど my_list に影響します。これは、Python が個別の新しいリストを作成するのではなく、参照を実際のリストにコピーするだけなので、new_list と my_list の両方が同じリストを指すことになるために発生します。

これに対処し、予期しない変更を防ぐには、次のことが不可欠です。さまざまな方法を使用してリストの真のコピーを作成します。

リストの複製

取得するには不変のクローンまたはリストの浅いコピーの場合は、次のオプションを検討してください:

  • list.copy() メソッド (Python 3.3 ):
  • リストスライス:
  • list() コンストラクター:

リストのディープ コピー

コピーする必要がある場合リストの要素もディープコピーを使用します:

次のコードを考えてみましょう:

結果:

これは、変更がどのように行われるかを示しています。元のリストとそのインスタンスへの変更は、元のリストにのみ影響し、コピーされたバージョン (b、c、d、f) には影響しません。

以上がPython でリストの不変のコピーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。