Articles

Python Empty List Tutorial – Wie man eine leere Liste in Python erstellt

Posted on

Wenn Sie lernen wollen, wie man eine leere Liste in Python effizient erstellt, dann ist dieser Artikel für Sie.

Sie lernen:

  • Wie Sie eine leere Liste mit eckigen Klammern erstellen.
  • Wie Sie eine leere Liste mit list() erstellen.
  • Die Anwendungsfälle.
  • Wie effizient sie sind (eine ist schneller als die andere!). Wir werden das timeit Modul verwenden, um sie zu vergleichen.

Lassen Sie uns beginnen! ✨

🔹 Mit eckigen Klammern

Sie können eine leere Liste mit einem leeren Paar eckiger Klammern erstellen, etwa so:

💡 Tipp: Wir weisen die leere Liste einer Variablen zu, um sie später in unserem Programm zu verwenden.

Beispiel:

num = 

Die leere Liste hat die Länge 0, wie Sie hier sehen können:

>>> num = >>> len(num)0

Leere Listen sind Falsy-Werte, was bedeutet, dass sie in einem booleschen Kontext zu False ausgewertet werden:

>>> num = >>> bool(num)False

Elemente zu einer leeren Liste hinzufügen

Mit den Methoden append() und insert() können Sie Elemente zu einer leeren Liste hinzufügen:

  • append() fügt das Element an das Ende der Liste.
  • insert() fügt das Element an dem bestimmten Index der Liste hinzu, den Sie auswählen.

Da Listen entweder wahrheitsgemäße oder falsche Werte sein können, je nachdem, ob sie bei der Auswertung leer sind oder nicht, können Sie sie in Konditionalen wie dieser verwenden:

if num:print("This list is not empty")else:print("This list is empty")

Die Ausgabe dieses Codes ist:

This list is empty

Da die Liste leer war, wird sie zu Falsch ausgewertet.

Allgemein:

  • Wenn die Liste nicht leer ist, wertet sie zu True aus, also wird die if-Klausel ausgeführt.
  • Wenn die Liste leer ist, wertet sie zu False aus, also wird die else-Klausel ausgeführt.

Beispiel:

Im folgenden Beispiel erstellen wir eine leere Liste und weisen sie der Variablen num zu. Dann fügen wir mit Hilfe einer for-Schleife eine Folge von Elementen (Ganzzahlen) zu der anfangs leeren Liste hinzu:

>>> num = >>> for i in range(3, 15, 2):num.append(i)

Wir überprüfen den Wert der Variablen, um zu sehen, ob die Elemente erfolgreich angefügt wurden und bestätigen, dass die Liste nicht mehr leer ist:

>>> num

💡 Tipp: Wir verwenden üblicherweise append(), um das erste Element zu einer leeren Liste hinzuzufügen, aber Sie können dieses Element auch hinzufügen, indem Sie die Methode insert() mit dem Index 0 aufrufen:

>>> num = >>> num.insert(0, 1.5) # add the float 1.5 at index 0>>> num

🔸 Mit dem list()-Konstruktor

Alternativ können Sie eine leere Liste mit dem Typkonstruktor list() erstellen, der ein neues Listenobjekt erzeugt.

Laut der Python-Dokumentation:

Wenn kein Argument angegeben wird, erzeugt der Konstruktor eine neue leere Liste,

💡 Tipp: Dies erzeugt ein neues Listenobjekt im Speicher und da wir keine Argumente an list() übergeben haben, wird eine leere Liste erzeugt.

Zum Beispiel:

num = list()

Diese leere Liste wird die Länge 0 haben, wie Sie hier sehen können:

>>> num = list()>>> len(num)0

Und sie ist ein falscher Wert, wenn sie leer ist (in einem booleschen Kontext wird sie zu False ausgewertet):

>>> num = list()>>> bool(num)False

Beispiel:

Dies ist eine voll funktionsfähige Liste, wir können ihr also Elemente hinzufügen:

>>> num = list()>>> for i in range(3, 15, 2):num.append(i)

Und das Ergebnis wird eine nicht leere Liste sein, wie Sie hier sehen können:

>>> num

🔹 Anwendungsfälle

  • Wir verwenden typischerweise list(), um Listen aus vorhandenen Iterablen wie Strings, Dictionaries oder Tuples zu erstellen.
  • Sie werden häufig eckige Klammern sehen, um leere Listen in Python zu erstellen, weil diese Syntax prägnanter und schneller ist.

🔸 Effizienz

Warten Sie! Ich habe Ihnen gerade gesagt, dass schneller ist als list()

Aber wie viel schneller?

Lassen Sie uns ihre Zeiteffizienz mit Hilfe des timeit-Moduls überprüfen.

Um dieses Modul in Ihrem Python-Programm zu verwenden, müssen Sie es importieren:

>>> import timeit

Speziell werden wir die timeit-Funktion aus diesem Modul verwenden, die Sie mit dieser Syntax aufrufen können:

💡 Tipp: Der Code wird mehrmals wiederholt, um Zeitunterschiede zu reduzieren, die durch äußere Faktoren wie z. B. andere Prozesse, die zu diesem Zeitpunkt laufen könnten, entstehen können. Das macht die Ergebnisse für Vergleichszwecke zuverlässiger.

🚦 Auf die Plätze… fertig… los! Hier ist der Code und die Ausgabe:

Zuerst importieren wir das Modul.

>>> import timeit

Dann beginnen wir mit dem Testen jeder Syntax.

Testen:

>>> timeit.timeit('', number=10**4)0.0008467000000109692

Testen von list():

>>> timeit.timeit('list()', number=10**4)0.002867799999989984

💡 Tipp: Beachten Sie, dass der Code, den Sie als Zeitangabe verwenden möchten, von einfachen Anführungszeichen '' oder doppelten Anführungszeichen "" umgeben sein muss. Die von der Funktion timeit zurückgegebene Zeit wird in Sekunden angegeben.

Vergleichen Sie diese Ergebnisse:

  • 0.0008467000000109692
  • list()0.002867799999989984

Sie können sehen, dass viel schneller ist als list(). In diesem Test gab es einen Unterschied von etwa 0.002 Sekunden:

>>> 0.002867799999989984 - 0.00084670000001096920.0020210999999790147

Ich bin sicher, dass Sie sich das jetzt fragen: Warum ist list() weniger effizient als , wenn sie genau das Gleiche tun?

Tja… list() ist langsamer, weil es erfordert, den Namen der Funktion nachzuschlagen, sie aufzurufen und dann das Listenobjekt im Speicher zu erzeugen. Im Gegensatz dazu ist wie eine „Abkürzung“, die nicht so viele Zwischenschritte benötigt, um die Liste im Speicher zu erzeugen.

Dieser Zeitunterschied wird sich nicht sonderlich auf die Performance Ihres Programms auswirken, aber es ist schön zu wissen, welche der beiden Varianten effizienter ist und wie sie hinter den Kulissen arbeiten.

🔹 Zusammenfassung

Sie können eine leere Liste mit einem leeren Paar eckiger Klammern oder dem Typkonstruktor list(), einer eingebauten Funktion, die eine leere Liste erzeugt, wenn keine Argumente übergeben werden, erzeugen.

Eckige Klammern werden in Python häufig verwendet, um leere Listen zu erzeugen, weil es schneller und übersichtlicher ist.

Ich hoffe sehr, dass Ihnen mein Artikel gefallen hat und Sie ihn hilfreich fanden. Jetzt können Sie leere Listen in Ihren Python-Projekten erstellen. Schauen Sie sich meine Online-Kurse an. Folgen Sie mir auf Twitter. ⭐️

Wenn Sie tiefer in das Thema Listen eintauchen wollen, lesen Sie vielleicht:

  • Python List Append – Wie man ein Element zu einem Array hinzufügt, erklärt mit Beispielen
  • Die Python Sort List Array Methode – Aufsteigend und Absteigend erklärt mit Beispielen
  • Python List Append VS Python List Extend – Der Unterschied erklärt mit Array Methode Beispielen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.