Wie erstelle ich wirklich unabhängige Kopien verschachtelter Listen in Python?

Linda Hamilton
Freigeben: 2024-11-24 01:53:12
Original
370 Leute haben es durchsucht

How to Create Truly Independent Copies of Nested Lists in Python?

Verschachtelte Listen kopieren: Unabhängigkeit bewahren

Bei der Arbeit mit verschachtelten Listen ist es oft wünschenswert, eine unabhängige Kopie der Liste zu erstellen, um dies sicherzustellen Änderungen an einer Liste wirken sich nicht auf die andere aus. Dies ist nicht so einfach wie bei eindimensionalen Listen, bei denen eine flache Kopie mit [:] ausreicht.

Bei zweidimensionalen Listen führt der naive Ansatz der Verwendung von [:] zu einer flachen Kopie, wobei Auf die inneren Listen wird weiterhin sowohl vom Original als auch von der Kopie verwiesen. Dadurch werden an der Kopie vorgenommene Änderungen im Original widergespiegelt.

Um echte Unabhängigkeit zu erreichen, ist eine tiefe Kopie erforderlich. Dazu gehört die Erstellung eines neuen Objekts für jedes Element in der Liste, einschließlich aller verschachtelten Listen. Die Funktion copy.deepcopy() bietet eine einfache Möglichkeit, tiefe Kopien zu erstellen und dabei effektiv die Referenzverbindung zwischen dem Original und der Kopie zu unterbrechen.

Durch die Verwendung von copy.deepcopy() wie folgt können wir eine unabhängige Kopie erstellen der zweidimensionalen Liste a:

import copy
b = copy.deepcopy(a)
Nach dem Login kopieren

Jetzt wirken sich alle an b vorgenommenen Änderungen nicht auf a aus und umgekehrt.

Das obige ist der detaillierte Inhalt vonWie erstelle ich wirklich unabhängige Kopien verschachtelter Listen in Python?. 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