Heim > Backend-Entwicklung > Python-Tutorial > Warum ändert das Ändern einer Python-Wörterbuchkopie auch das Original?

Warum ändert das Ändern einer Python-Wörterbuchkopie auch das Original?

DDD
Freigeben: 2024-12-23 09:04:34
Original
439 Leute haben es durchsucht

Why Does Modifying a Python Dictionary Copy Also Change the Original?

Das Kopieren von Wörterbüchern in Python verstehen

In Python kann die Manipulation von Wörterbüchern verwirrend sein, wenn es um das Kopieren ihrer Werte geht. Dieser Artikel befasst sich mit einem häufigen Problem, das auftritt, wenn beim Ändern einer Kopie eines Wörterbuchs festgestellt wird, dass sich auch das ursprüngliche Wörterbuch geändert hat.

Um dieses Verhalten zu verstehen, ist es wichtig zu verstehen, dass Python kein implizites Kopieren von Objekten durchführt. Wenn Sie dict2 = dict1 zuweisen, erstellen Sie kein neues Wörterbuchobjekt; Sie erstellen lediglich einen weiteren Verweis auf dasselbe vorhandene Wörterbuch. Alle an Diktat2 vorgenommenen Änderungen wirken sich daher direkt auf Diktat1 aus, da beide auf dieselbe zugrunde liegende Datenstruktur verweisen.

Um dieses Verhalten zu vermeiden und ein Wörterbuch wirklich zu kopieren, müssen Sie explizit ein neues Wörterbuchobjekt erstellen. Zwei Methoden können dies erreichen:

  • Verwendung von dict(): Der dict()-Konstruktor verwendet ein vorhandenes Wörterbuch als Argument und gibt ein neues Wörterbuchobjekt mit einer Kopie aller zurück Schlüsselwert Paare.

Beispiel:

dict2 = dict(dict1)
Nach dem Login kopieren
  • Verwenden von copy(): Die copy()-Methode eines Wörterbuchs Erstellt ein neues Wörterbuchobjekt mit einer oberflächlichen Kopie des Original.

Beispiel:

dict2 = dict1.copy()
Nach dem Login kopieren

Mit diesen Techniken können Sie sicherstellen, dass an Diktat2 vorgenommene Änderungen keine Auswirkungen auf das ursprüngliche Diktat1 haben um den Zustand des ursprünglichen Wörterbuchs beizubehalten, während die kopierte Version bearbeitet wird.

Das obige ist der detaillierte Inhalt vonWarum ändert das Ändern einer Python-Wörterbuchkopie auch das Original?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage