Python 変数のコピーを変更すると元の変数が変更されるのはなぜですか?

Patricia Arquette
リリース: 2024-11-08 17:33:02
オリジナル
653 人が閲覧しました

Why Does Modifying a Copy of a Python Variable Change the Original?

Python: コピーの変更が元の変数に影響する

Q: 変数のコピーを作成および変更すると、元の変数も変更されるのはなぜですか?

A: Python では、変数はオブジェクト自体ではなく、オブジェクトへの参照です。ある変数を別の変数に代入すると、同じオブジェクトを指す新しい参照が作成されます。したがって、コピーを変更すると、実際には元のオブジェクトが変更されることになります。

たとえば、次のコードを考えてみます。

org_list = ['y', 'c', 'gdp', 'cap']
copy_list = org_list

copy_list.append('hum')
ログイン後にコピー

これは、copy_list に 'hum' を追加します。 org_list と同じリストを参照すると、org_list も変更されます。

独立したコピーを作成するには、次を使用します。 slicing:

copy_list = org_list[:]
ログイン後にコピー

ここで、スライス演算子 ([:]) はリストの新しいコピーを作成します。これで、org_list に影響を与えることなく copy_list を変更できるようになりました。このメソッドは、pandas データフレームなどの他の変数タイプに適用できます。

以上がPython 変数のコピーを変更すると元の変数が変更されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート