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