Heim  >  Artikel  >  Backend-Entwicklung  >  Warum verändert das Ändern einer Kopie einer Python-Variablen das Original?

Warum verändert das Ändern einer Kopie einer Python-Variablen das Original?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 17:33:02677Durchsuche

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

Python: Das Ändern der Kopie wirkt sich auf die Originalvariable aus

F: Warum ändert sich beim Erstellen und Ändern einer Kopie einer Variablen auch die Originalvariable? ?

A: In Python sind Variablen Verweise auf Objekte, nicht die Objekte selbst. Durch die Zuweisung einer Variablen zu einer anderen wird eine neue Referenz erstellt, die auf dasselbe Objekt verweist. Wenn Sie also die Kopie ändern, ändern Sie tatsächlich das Originalobjekt.

Bedenken Sie zum Beispiel den Code:

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

copy_list.append('hum')

Damit wird „hum“ an copy_list angehängt und seitdem verweist auf dieselbe Liste wie org_list, org_list ändert sich ebenfalls.

Um eine unabhängige Kopie zu erstellen, verwenden Sie Slicing:

copy_list = org_list[:]

Hier erstellt der Slice-Operator ([:]) eine neue Kopie von die Liste. Jetzt können Sie copy_list ändern, ohne dass sich dies auf org_list auswirkt. Diese Methode kann auf andere Variablentypen angewendet werden, z. B. Pandas-Datenrahmen.

Das obige ist der detaillierte Inhalt vonWarum verändert das Ändern einer Kopie einer Python-Variablen das Original?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn