Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich verschachtelte Listen in Python unabhängig kopieren?

Wie kann ich verschachtelte Listen in Python unabhängig kopieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-07 09:20:16740Durchsuche

How Can I Independently Copy Nested Lists in Python?

Verschachtelte Listen kopieren: Unabhängigkeit bei der Datenmanipulation erreichen

In Python ist das Kopieren eindimensionaler Listen mithilfe des Slicing-Zuweisungsoperators ([ : ]). Diese Methode gewährleistet jedoch nicht die Datenunabhängigkeit beim Umgang mit verschachtelten Listen (2D oder höher). Das Problem ergibt sich aus den miteinander verbundenen Speicherreferenzen, die während der anfänglichen Zuweisung erstellt wurden.

a = [[1, 2],[3, 4]]
b = a[:]

An b vorgenommene Änderungen werden unbeabsichtigt an a weitergegeben, da die Referenzen und nicht die Werte dupliziert werden. Um dieses Problem zu umgehen, bietet Python ein spezielles Dienstprogramm für Deep Copy an: die Funktion copy.deepcopy().

Kopie importieren
b = copy.deepcopy(a)

Im Gegensatz zum Slicing Methode copy.deepcopy() durchläuft die verschachtelte Struktur rekursiv und erstellt neue Objekte, die völlig unabhängig vom Original sind. Dadurch wird sichergestellt, dass alle Änderungen an b isoliert bleiben und die Integrität von a gewahrt bleibt.

Durch den Einsatz von copy.deepcopy() können Sie verschachtelte Listen sicher replizieren, die Datenunabhängigkeit wahren und eine beispiellose Flexibilität bei der Datenbearbeitung ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte Listen in Python unabhängig kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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