Wie kopiert man eine Liste tief?
Beim Versuch, eine tiefe Kopie einer Liste zu erstellen, ist es wichtig, die Verwendung der Liste zu vermeiden( ) Konstruktor. Während list() den Anschein erweckt, als würde es eine eindeutige Liste generieren, führt es nur eine oberflächliche Kopie durch und behält Verweise auf die Elemente der ursprünglichen Liste bei. Folglich wirken sich alle an der neuen Liste vorgenommenen Änderungen auch auf das Original aus.
Lösung: Deep Copy mit copy.deepcopy()
Für echtes Deep Copy die Kopie Die Funktion .deepcopy() muss verwendet werden. Diese Funktion klont alle Elemente innerhalb der Liste rekursiv und stellt so sicher, dass die neue Liste unabhängig vom Original ist.
Beispiel:
import copy # Original list E0 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Shallow copy E0_copy1 = list(E0) # Deep copy E0_copy2 = copy.deepcopy(E0) # Modify shallow copy E0_copy1[0][0] = 0 # Observe that changes to the shallow copy also affect the original print(E0) # Output: [[0, 2, 3], [4, 5, 6], [7, 8, 9]] # Modify deep copy E0_copy2[1][1] = 0 # Note that changes to the deep copy do not affect the original print(E0) # Output: [[0, 2, 3], [4, 5, 6], [7, 8, 9]]
Erklärung:
list() initialisiert eine neue Liste durch Verweis auf die ursprünglichen Elemente. Daher werden alle an der Kopie vorgenommenen Änderungen auf die Originalliste übertragen.
copy.deepcopy() hingegen erstellt Kopien aller verschachtelten Elemente innerhalb der Liste, was zu einer völlig unabhängigen Kopie führt. Änderungen an der Deep Copy haben keinen Einfluss auf die Originalliste.
Das obige ist der detaillierte Inhalt vonWie kopiert man eine Liste in Python richtig tief?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel wird die in Version 3.10 eingeführte "Match" -serklärung von Python erörtert, die als Äquivalent zum Wechseln von Aussagen in anderen Sprachen dient. Es verbessert die Code-Lesbarkeit und bietet Leistungsvorteile gegenüber herkömmlichen IF-ELIF-EL

Ausnahmegruppen in Python 3.11 ermöglichen die gleichzeitige Behandlung mehrerer Ausnahmen, wodurch die Fehlermanagement in gleichzeitigen Szenarien und komplexen Vorgängen verbessert wird.

Funktionsanmerkungen in Python Fügen Sie Metadaten zu Funktionen für Typprüfungen, Dokumentation und IDE -Unterstützung hinzu. Sie verbessern die Lesbarkeit, die Wartung der Code und die API -Entwicklung, die Datenwissenschaft und die Erstellung der Bibliothek von entscheidender Bedeutung.

In dem Artikel werden Unit -Tests in Python, deren Vorteile und wie man sie effektiv schreibt, erläutert. Es zeigt Werkzeuge wie Unittest und PyTest zum Testen.

In Artikel werden Zugriffsspezifizierer in Python erörtert, die benennende Konventionen verwenden, um die Sichtbarkeit von Klassenmitgliedern und nicht die strenge Durchsetzung anzuzeigen.

In Artikel wird die Methode von Python \ _ \ _ init \ _ \ _ () und die Rolle von Self bei der Initialisierung von Objektattributen erörtert. Andere Klassenmethoden und die Auswirkungen der Vererbung auf \ _ \ _ init \ _ \ _ () sind ebenfalls abgedeckt.

In dem Artikel werden die Unterschiede zwischen @ClassMethod, @StaticMethod und Instance -Methoden in Python erörtert und ihre Eigenschaften, Anwendungsfälle und Vorteile beschrieben. Es wird erläutert, wie Sie den richtigen Methodentyp basierend auf der erforderlichen Funktionalität und DA auswählen

Inpython, youAppendElementStoAlistusedtheAppend () Methode.1) UseAppend () ForsingleElelements: my_list.append (4) .2) usextend () oder = formulnElements: my_list.extend (andere_list) ormy_list = [4,5,6] .3) useInSert () FORSPECIFIFICISPositionen: my_list.insert (1,5) .Beaware


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
