List, Set, Dictionary Comprehensions in Python
Lernen wir etwas über die List, Dictionary, Set Comprehensions in Python.
Verstehen in Python:
Die Comprehension besteht aus einem einzelnen Ausdruck, gefolgt von mindestens einer for
-Klausel und null oder mehr for
– oder if
-Klauseln.
Es gibt drei Comprehensions in Python.
Listen-Comprehensions:
Listen-Comprehensions bieten eine prägnante Möglichkeit, Listen zu erstellen. Übliche Anwendungen sind die Erstellung neuer Listen, bei denen jedes Element das Ergebnis einiger Operationen ist, die auf jedes Mitglied einer anderen Sequenz oder Iterablen angewandt werden, oder die Erstellung einer Teilfolge von Elementen, die eine bestimmte Bedingung erfüllen. – python docs
Syntax:
Der Ausdruck kann ein beliebiger Ausdruck, komplexe Ausdrücke, Tupel, verschachtelte Funktionen oder ein anderes Listenverständnis sein.
Dies ist äquivalent zu
for item in iterable:
if conditional:
expression
Rückgabetyp:
List
Listenverständnis verwenden:
Ein Listenverständnis besteht aus Klammern, die einen Ausdruck enthalten, gefolgt von einer
for
-Klausel, dann null oder mehr for
– oder if
-Klauseln. Das Ergebnis ist eine neue Liste, die sich aus der Auswertung des Ausdrucks im Kontext der for
– und if
-Klauseln ergibt, die ihm folgen.
Listenverständnis vs. for-Schleife.
Durch die Verwendung von List Comprehension ist es prägnanter und lesbarer im Vergleich zu for loop.
Finden von Zahlenquadraten mit List Comprehension vs. for-Schleife:
List Comprehension vs. Filter.
Returnt einen Iterator aus den Elementen von iterable, für die die Funktion true zurückgibt. iterable kann entweder eine Sequenz, ein Container, der Iteration unterstützt, oder ein Iterator sein
Gerade Zahlen finden mit List Comprehension vs filter():
3.List Comprehension vs map.
map:
Return einen Iterator, der eine Funktion auf jedes Element von iterable anwendet und die Ergebnisse liefert.
Finden von Zahlenquadraten mit List Comprehension vs map():
Schachtelschleifen in List Comprehension.
List Comprehension kann eine oder mehrere for-Klauseln enthalten.
Beispiel 1: Flatten a list using List Comprehension with two ‚for‘ clause:
5.Multiple if condition in List Comprehension.
List comprehension can contain zero or more if clause.
Beispiel: Finden von Zahlen, die durch 2 und 3 teilbar sind.
Der Ausdruck kann in einem Listenverständnis ein Tupel sein.
Wir können den Ausdruck als Tupel in einem Listenverständnis angeben. Er sollte in Klammern geschrieben werden. Andernfalls wird ein Fehler ausgegeben. Das Ergebnis ist eine Liste von Tupeln.
Beispiel 1: Erstellen einer Liste von Tupeln unter Verwendung von List Comprehension mit zwei ‚for‘-Klauseln:
Wenn der Ausdruck ein Tupel ist und nicht in Klammern steht, wird ein SyntaxFehler ausgegeben.
Beispiel 2: Verwendung der Funktion zip() in List Comprehension:
List Comprehension kann verwendet werden, um eine Methode für jedes Element aufzurufen.
Beispiel 1: Aufruf der Methode strip() für jedes Element der Liste. Sie wird verwendet, um die Leerzeichen zu entfernen.
Beispiel 2: Aufruf der upper()-Methode für jedes Element in der Liste.
Listenverständnis kann komplexe Ausdrücke und verschachtelte Funktionen enthalten.
Beispiel 1: Im folgenden Beispiel verwenden wir im Ausdruck die strip-Methode und die int-Funktion.
Beispiel 2: Im folgenden Beispiel verwenden wir im Ausdruck die abs()- und str()-Funktion.
Verschachtelte Listenauffassung.
Der Ausdruck in einer Listenauffassung kann auch eine andere Listenauffassung enthalten.
Beispiel: Das erste Listenverständnis, das als Ausdruck angegeben wird, gibt eine Liste mit geraden Zahlen von 0 bis 10 zurück. Das verschachtelte Listenverständnis wird diesen Ausdruck (Liste der geraden Zahlen von 0 bis 10) dreimal zurückgeben (Bereich(3)).