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 サイトの他の関連記事を参照してください。