Python-Listenverständnisse anhand von Beispielen erklärt
Listenverständnisse bieten eine kompakte Möglichkeit, Listen in Python zu erstellen. Sie sind lesbarer und oft effizienter als herkömmliche Schleifen. Dieser Artikel erläutert, was Listenverständnisse sind, wie sie funktionieren und liefert Beispiele zur Veranschaulichung ihrer Verwendung.
Was ist eine Listenableitung?
Eine Listenableitung ist eine kompakte Möglichkeit, alle oder einen Teil der Elemente einer Sammlung zu verarbeiten und eine Liste mit den Ergebnissen zurückzugeben. Die Syntax einer Listenableitung lautet:
[expression for item in iterable if condition]
Hier ist Ausdruck
das aktuelle Element in der Iteration, aber auch das Ergebnis, das Sie bearbeiten können, bevor es wie ein Listenelement endet. iterierbar
ist die Sammlung, die Sie durchlaufen, und Bedingung
ist ein optionaler Filter, der nur Elemente einschließt, die die Bedingung erfüllen.
Grundlegende Beispiele
Erstellen einer Liste von Quadraten
Um eine Liste mit Quadratzahlen von 0 bis 9 zu erstellen, können Sie eine Listenableitung wie folgt verwenden:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)
Ausgabe:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Elemente filtern
Sie können auch eine Bedingung zum Filtern von Elementen hinzufügen. So erhalten Sie beispielsweise nur die geraden Zahlen aus der Liste:
even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)
Ausgabe:
[0, 4, 16, 36, 64]
Eine Liste von Listen reduzieren
Wenn Sie eine Liste von Listen haben und diese vereinfachen möchten, können Sie eine Listenableitung verwenden:
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)
Ausgabe:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Erweiterte Beispiele
Anwenden von Funktionen
Sie können Funktionen innerhalb einer Listenableitung anwenden. So konvertieren Sie beispielsweise eine Liste von Zeichenfolgen in Großbuchstaben:
words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)
Ausgabe:
['HELLO', 'WORLD', 'PYTHON']
Verschachtelte Verständnisse
Listenverständnisse können verschachtelt werden. So erstellen Sie beispielsweise eine Liste von Tupeln (i, j), wobei i und j beide Elemente aus zwei Listen sind:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)
Ausgabe:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
Abschluss
Listenverständnisse bieten eine leistungsstarke und prägnante Möglichkeit, Listen in Python zu generieren. Sie können Ihren Code vereinfachen und lesbarer machen, indem sie mehrere Zeilen Schleifencode durch eine einzige Zeile Verständnisse ersetzen. Üben Sie die Verwendung von Listenverständnissen, um sich mit ihrer Syntax und ihren Funktionen vertraut zu machen.