Tutorial zur leeren Python-Liste - So erstellen Sie eine leere Liste in Python

Wenn Sie lernen möchten, wie Sie eine leere Liste in Python effizient erstellen, ist dieser Artikel genau das Richtige für Sie.

Du wirst es lernen:

  • So erstellen Sie eine leere Liste in eckigen Klammern [].
  • So erstellen Sie eine leere Liste mit list().
  • Ihre Anwendungsfälle.
  • Wie effizient sie sind (einer ist schneller als der andere!). Wir werden das timeitModul verwenden, um sie zu vergleichen.

Lass uns anfangen! ✨

🔹 Verwenden von eckigen Klammern

Sie können eine leere Liste mit einem leeren Paar eckiger Klammern wie folgt erstellen:  

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

Zum Beispiel:

num = []

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

>>> num = [] >>> len(num) 0

Leere Listen sind falsche Werte, was bedeutet, dass sie Falsein einem booleschen Kontext ausgewertet werden :

>>> num = [] >>> bool(num) False

Elemente zu einer leeren Liste hinzufügen

Sie können Elemente in eine leere Liste fügen Sie die Methoden append()und insert():

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

Da Listen entweder wahrheitsgemäß oder falsch sein können, je nachdem, ob sie bei der Auswertung leer sind oder nicht, können Sie sie unter folgenden Bedingungen verwenden:

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

Die Ausgabe dieses Codes lautet:

This list is empty

Da die Liste leer war, wird sie als falsch ausgewertet.

Im Allgemeinen:

  • Wenn die Liste nicht leer ist, wird sie ausgewertet True, sodass die if-Klausel ausgeführt wird.
  • Wenn die Liste leer ist, wird sie ausgewertet False, sodass die else-Klausel ausgeführt wird.

Beispiel:

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

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

Wir überprüfen den Wert der Variablen, um festzustellen, ob die Elemente erfolgreich angehängt wurden, und bestätigen, dass die Liste nicht mehr leer ist:  

>>> num [3, 5, 7, 9, 11, 13]

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

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

🔸 Verwenden des Konstruktors list ()

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

Laut der Python-Dokumentation:

Wenn kein Argument angegeben wird, erstellt der Konstruktor eine neue leere Liste [].

💡 Tipp: Dadurch wird ein neues Listenobjekt im Speicher erstellt. Da wir keine Argumente übergeben haben, list()wird eine leere Liste erstellt.

Zum Beispiel:

num = list()

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

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

Und es ist ein falscher Wert, wenn er leer ist (er wird Falsein einem booleschen Kontext ausgewertet ):

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

Beispiel:

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

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

Das Ergebnis ist eine nicht leere Liste, wie Sie hier sehen können:

>>> num [3, 5, 7, 9, 11, 13]

🔹 Anwendungsfälle

  • Wir verwenden normalerweise list(), um Listen aus vorhandenen iterablen Elementen wie Zeichenfolgen, Wörterbüchern oder Tupeln zu erstellen.
  • []In Python werden häufig eckige Klammern verwendet, um leere Listen zu erstellen, da diese Syntax präziser und schneller ist.

🔸 Effizienz

Warten! Ich habe dir gerade gesagt, das []ist schneller als list()...

Aber wie viel schneller?

Lassen Sie uns ihre Zeiteffizienz mit dem timeit- Modul überprüfen .

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

>>> import timeit

Insbesondere verwenden wir die Timeit-Funktion dieses Moduls, die Sie mit folgender Syntax aufrufen können:

💡 Tipp: Der Code wird mehrmals wiederholt, um Zeitunterschiede zu verringern, die durch externe Faktoren wie andere Prozesse verursacht werden können, die zu diesem bestimmten Zeitpunkt ausgeführt werden. Dies macht die Ergebnisse zu Vergleichszwecken zuverlässiger.

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

Zuerst importieren wir das Modul.

>>> import timeit

Dann testen wir jede Syntax.

Testen []:

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

Testen list():

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

💡 Tipp: Beachten Sie, dass der Code, den Sie zeitlich festlegen möchten, in einfache ''oder doppelte Anführungszeichen gesetzt werden muss "". Die von der timeitFunktion zurückgegebene Zeit wird in Sekunden angegeben.

Vergleichen Sie diese Ergebnisse:

  • []:: 0.0008467000000109692
  • list():: 0.002867799999989984

Sie können sehen, dass []das viel schneller ist als list(). 0.002Bei diesem Test gab es einen Unterschied von ungefähr Sekunden:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Ich bin sicher, dass Sie sich jetzt fragen müssen: Warum ist es list()weniger effizient, als []wenn sie genau dasselbe tun?

Nun ... list()ist langsamer, weil es erforderlich ist, den Namen der Funktion nachzuschlagen, sie aufzurufen und dann das Listenobjekt im Speicher zu erstellen. Im Gegensatz dazu []ist es wie eine "Verknüpfung", die nicht so viele Zwischenschritte erfordert, um die Liste im Speicher zu erstellen.

Dieser Zeitunterschied wirkt sich nicht sehr auf die Leistung Ihres Programms aus, aber es ist schön zu wissen, welches effizienter ist und wie es hinter den Kulissen funktioniert.

🔹 Zusammenfassend

Sie können eine leere Liste mit einem leeren Paar eckiger Klammern []oder dem Typkonstruktor erstellen list(), einer integrierten Funktion, die eine leere Liste erstellt, wenn keine Argumente übergeben werden.

[]In Python werden häufig eckige Klammern verwendet, um leere Listen zu erstellen, da diese schneller und präziser sind.

Ich hoffe wirklich, 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. Folge mir auf Twitter. ⭐️

Wenn Sie tiefer in Listen eintauchen möchten, lesen Sie vielleicht:

  • Python List Append - Hinzufügen eines Elements zu einem Array, erläutert anhand von Beispielen
  • Die Python-Sortierlisten-Array-Methode - Aufsteigend und absteigend, erläutert anhand von Beispielen
  • Python List Append VS Python List Extend - Der Unterschied, der anhand von Beispielen für Array-Methoden erklärt wird