


Warum ändert sich durch das Ändern der Liste „y' in Python auch die Liste „x'?
Aug 20, 2023 am 11:25 AMBeispiel
In diesem Artikel werden wir sehen, ob sich bei einer Änderung einer Liste, beispielsweise Liste Y, auch Liste X ändert. Schauen wir uns dazu zunächst ein Beispiel mit zwei Listen an und versuchen, append() und print für die Ausgabe zu verwenden -
x = [] y = x print("Value of y = ",y) print("Value of x = ",x) y.append(25) print("\nAfter changing...") print("Value of y = ",y) print("Value of x = ",x)
Ausgabe
('Value of y = ', []) ('Value of x = ', []) After changing... ('Value of y = ', [25]) ('Value of x = ', [25])
Oben haben wir gesehen, dass durch die Aktualisierung der Liste y auch die Liste x geändert wird.
Wir sehen das obige Ergebnis, weil −
- Listen sind veränderbar, d. h. Sie können ihren Inhalt ändern.
- Variablen sind Namen, die auf Objekte verweisen.
Wenn Sie oben y = x schreiben, wird keine Kopie der Liste erstellt. Es erstellt eine neue Variable y, die auf dasselbe Objekt verweist wie x. Das heißt, es gibt nur ein Objekt, die Liste, und sowohl x als auch y verweisen darauf.
Wenn append() aufgerufen wird, ändert sich der Inhalt des Variablenobjekts von [] auf [25]. Da beide Variablen auf dasselbe Objekt verweisen, kann mit beiden Variablen auf den geänderten Wert zugegriffen werden [25].
Angenommen, wir weisen x ein unveränderliches Objekt zu, dann sind x und y nicht mehr gleich. Dies liegt daran, dass ganze Zahlen unveränderlich sind -
Die chinesische Übersetzung vonBeispiel
lautet:Beispiel
# ints are immutable x = 5 y = x print("Value of y = ",y) print("Value of x = ",x) # We are creating a new object x = x + 1 print("\nAfter changing...") print("Value of y = ",y) print("Value of x = ",x)
Ausgabe
('Value of y = ', 5) ('Value of x = ', 5) After changing... ('Value of y = ', 5) ('Value of x = ', 6)
Wenn wir x = x + 1 schreiben, ändern wir den int 5 nicht, indem wir seinen Wert erhöhen. Stattdessen erstellen wir ein neues Objekt (int 6) und weisen es x zu. Nach dieser Zuweisung haben wir zwei Objekte (int 6 und 5) und zwei Variablen, die auf sie verweisen.
Daher
Veränderliche Objekte − Wenn wir ein veränderliches Objekt wie eine Liste, ein Wörterbuch, eine Menge usw. haben, können wir es mit bestimmten Operationen ändern, und alle Variablen, die darauf verweisen, werden diese Änderung sehen.
Immutable Object − Wenn wir ein unveränderliches Objekt wie str, int, tuple usw. haben, sehen alle Variablen, die darauf verweisen, immer denselben Wert, aber Operationen, die diesen Wert in einen neuen Wert konvertieren, geben immer ein neues Objekt zurück .
Das obige ist der detaillierte Inhalt vonWarum ändert sich durch das Ändern der Liste „y' in Python auch die Liste „x'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Was sind die Vor- und Nachteile des Templatings?

So laden Sie Deepseek Xiaomi herunter

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an

Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks

Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen

So speichern Sie die Evaluierungsfunktion
