Heim > Backend-Entwicklung > Python-Tutorial > Wie funktioniert die Listenzuweisung in Python und wie kann ich unerwartetes Verhalten beim Ändern verschachtelter Listen vermeiden?

Wie funktioniert die Listenzuweisung in Python und wie kann ich unerwartetes Verhalten beim Ändern verschachtelter Listen vermeiden?

Mary-Kate Olsen
Freigeben: 2024-11-29 01:10:11
Original
969 Leute haben es durchsucht

How Does Python's List Assignment Work, and How Can I Avoid Unexpected Behavior When Modifying Nested Lists?

Listenzuweisung in Python verstehen

In Python sind Listen veränderliche Objekte, was bedeutet, dass ihr Inhalt geändert werden kann. Wenn Sie eine Liste einer anderen Variablen zuweisen, verweisen beide Variablen auf dasselbe zugrunde liegende Listenobjekt. Dies wird als Zuweisung durch Referenz bezeichnet.

Pass-By-Reference-Problem

Dieses Verhalten kann zu unerwarteten Konsequenzen führen, wenn verschachtelte Listen geändert werden. Beispielsweise wirkt sich die Änderung eines Werts in „a“ auch auf „b“ aus, da sie dasselbe Backing-List-Objekt verwenden:

a = ['help', 'copyright', 'credits', 'license']
b = a
b.append('XYZ')
print(a)  # ['help', 'copyright', 'credits', 'license', 'XYZ']
Nach dem Login kopieren

Übergabe von Listen nach Wert

Um in Python eine Liste nach Wert zu übergeben, müssen Sie eine Kopie der Originalliste erstellen. Sie können dies mit dem Slicing-Operator tun:

b = a[:]
Nach dem Login kopieren

Dadurch wird ein neues Listenobjekt mit demselben Inhalt wie „a“ erstellt. Nun hat das Anhängen an „b“ keinen Einfluss auf „a“:

b.append('XYZ')
print(a)  # ['help', 'copyright', 'credits', 'license']
print(b)  # ['help', 'copyright', 'credits', 'license', 'XYZ']
Nach dem Login kopieren

Fazit

Das Verständnis der Listenzuweisung in Python ist entscheidend, um unbeabsichtigtes Verhalten beim Ändern verschachtelter Elemente zu vermeiden Listen. Mithilfe des Slicing-Operators können Sie Listen nach Wert übergeben und sicherstellen, dass Änderungen in einer Liste nicht auf andere übertragen werden.

Das obige ist der detaillierte Inhalt vonWie funktioniert die Listenzuweisung in Python und wie kann ich unerwartetes Verhalten beim Ändern verschachtelter Listen vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage