Listenverständnis Python
Python-Funktionen und -Methoden
Michael Zippo
31.10.2021
Ein Python-Listenverständnis ist eine Möglichkeit, eine Liste basierend auf einer vorhandenen Liste zu erstellen. Listenverständnisse werden häufig verwendet, um Elemente aus einer Liste herauszufiltern oder die Werte in einer vorhandenen Liste zu ändern. Listenverständnisse werden in eckige Klammern eingeschlossen.
Wenn Sie mit Listen arbeiten, möchten Sie möglicherweise eine Liste basierend auf dem Inhalt einer vorhandenen Sequenz erstellen. Sie können beispielsweise eine Liste basierend auf einer Zeichenfolge erstellen. Oder Sie möchten eine Liste erstellen, die den Inhalt einer anderen Liste mit zwei multipliziert.
Hier kommt das Listenverst√§ndnis ins Spiel. In diesem Tutorial werden mit Beispielen die Grundlagen von Python-Listen und ihre Vorgehensweise erl√§utert Verwenden Sie Listenverst√§ndnisse.
Python-Listen: Eine Auffrischung
Die Listendatenstruktur ermöglicht es Ihnen, Sammlungen von Elementen in Python zu speichern. Listen werden häufig verwendet, wenn Sie mit mehreren Werten arbeiten möchten, die in irgendeiner Weise miteinander verbunden sind.
Sie können beispielsweise eine Liste verwenden, um alle in einer Eisdiele verkauften Eissorten zu speichern. Oder Sie können eine Liste verwenden, um eine Liste der Telefonnummern der Mitglieder eines Weinclubs zu speichern.
Hier ist ein Beispiel fur eine Liste in Python:
Jetzt, da wir die Grundlagen von Listen uberarbeitet haben, können wir uber die Verwendung von Listenverständnissen sprechen.
Python-Listenverst√§ndnis
Ein Python-Listenverständnis erstellt eine neue Liste aus dem Inhalt einer anderen Liste. Sie können ein Listenverständnis verwenden, um eine Liste zu duplizieren oder den Inhalt einer vorhandenen Liste in eine neue Liste zu ändern. Oder Sie können den Inhalt eines anderen Iterables in eine Liste mit Listenverständnis ubertragen.
81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.
Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.
Sie können Filter angeben, damit Ihre neue Liste enthält nur bestimmte Werte. Sie können beispielsweise eine neue Liste aus einer Liste von Nummern erstellen. Ihre neue Liste darf nur Zahlen größer als 250 enthalten.
Die Syntax fur ein Listenverst√§ndnis in Python lautet wie folgt:
Diese Syntax √§hnelt einem Python for-Anweisung. Aber die Aussage steht in einer Zeile. Um zwischen einer for-Anweisung zu unterscheiden, wird ein Listenverst√§ndnis in eckige Klammern eingeschlossen.
Die obige Syntax besteht aus drei Teilen:
- Ausdruck: Der Endwert, der in die neue Liste aufgenommen wird.
- item: Das einzelne Element in der Liste, uber das Sie iterieren.
- list: Die Liste oder das iterierbare Objekt, das das Listenverständnis durchläuft (akzeptable Datentypen Tupel, Strings und Listen einschließen).
Sie können ein Listenverständnis mit einer Python if…else-Anweisung inside:
Dieses Verst√§ndnis fugt Elemente nur dann zur Liste hinzu, wenn sie die angegebene Bedingung erfullen.
Mit dem Listenverständnis können Sie eine neue Liste aus einer bestehenden erstellen, ohne vollständige fur zu definieren Aussagen. fur stat ements nehmen mindestens zwei Zeilen Code in Anspruch, während Sie ein Listenverständnis in einer Zeile schreiben können.
Manche Leute sagen, dass Listenverst√§ndnisse eher Python-Code sind. Dies liegt daran, dass sie effizienter sind als eine kurze for-Anweisung.
Beispiel fur Python-Listenverst√§ndnis
Angenommen, wir möchten eine Liste aller Huhner erstellen Pizzen, die wir in unserem Geschäft verkaufen. Wir werden alle Huhnchenpizzas in eine Kategorie Huhnchen auf unserer Speisekarte verschieben. Dazu könnten wir unsere Pizzen mit for-Anweisungen filtern. Oder wir könnten unsere Liste mit einem Listenverständnis filtern.
Wir könnten ein Listenverständnis verwenden, um eine neue Liste von Pizzen zu erstellen, deren Namen Huhnchen basierend auf unserer bestehenden Liste von Pizzen enthalten . Wir könnten dies mit diesem Code tun:
Unsere comprehension gibt die folgende Ausgabeliste zuruck:
In unserem Code definieren wir zun√§chst eine Liste von Pizzen auf unserer Speisekarte. Unsere Pizzen werden in der Python-Variable namens Pizzen gespeichert. Dann verwenden wir ein Listenverst√§ndnis, um eine neue Liste von Pizzen zu erstellen, deren Namen Huhn enthalten.
Unser Listenverst√§ndnis besteht aus folgenden Teilen:
- p: Dies ist der Wert, der unserer Liste hinzugefugt werden muss.
- fur p in Pizzen: Dies geht durch jede Pizza in unserer " Pizzen‚" Liste.
- wenn "Huhn‚" in p: Hiermit wird uberpruft, ob jede Pizza "Huhn‚" enth√§lt. Wenn dieser Wert True ergibt, wird der in "p‚" wird unserer Liste hinzugefugt.
Unser Listenverständnis benötigte nur eine Codezeile, während wir in unserem nächsten Beispiel drei Codezeilen mit einer for-Anweisung verwenden mussen es funktioniert. Unser nächstes Beispiel zeigt, inwieweit Listenverständnisse Ihnen helfen, saubereren Code zu schreiben.
Kehren wir zum Huhnchenpizza-Beispiel zuruck. Ohne a Listenverst√§ndnis, wenn wir eine Liste von Huhnchenpizzas auf unserer Speisekarte erstellen wollten, wurden wir diesen Code verwenden:
Zuerst definieren wir zwei Listen. Eine Liste enth√§lt eine Liste der in unserem Gesch√§ft verkauften Pizzen. Die andere Liste enth√§lt eine Liste aller Huhnchenpizzas, die wir verkaufen. Die Liste der von uns verkauften Huhnchenpizzas ist zun√§chst leer.
Wir verwenden ein "fur‚" Anweisung, jede Pizza in unserer Pizzaliste durchzugehen. Dann prufen wir, ob jede Pizza das Wort Huhn enth√§lt. Wenn eine Pizza das Wort Huhn enth√§lt, fugen wir diese Pizza unserer Liste der Huhnchenpizzas hinzu. In diesem Fall enthalten drei Pizzen Chicken, und alle drei dieser Pizzen werden unserer chicken_pizzas-Liste hinzugefugt.
"Karma kam in mein Leben, als Ich brauchte es am dringendsten und half mir schnell bei einem Bootcamp. Zwei Monate nach meinem Abschluss fand ich meinen Traumjob, der meinen Werten und Lebenszielen entsprach!"