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)
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!