Python

⌘K
  1. Home
  2. Docs
  3. Python
  4. Python Listen
  5. Python List Comprehension

Python List Comprehension

Python List Comprehension: List Comprehensions bieten eine elegante und kompakte Möglichkeit, Listen zu erstellen oder zu filtern. Sie sind eine der leistungsfähigsten Funktionen in Python und machen den Code kürzer und oft besser lesbar. Mit List Comprehensions lassen sich Listen basierend auf bestehenden Listen generieren, indem eine Ausdruckssyntax genutzt wird.

Grundsyntax

Die Grundsyntax einer List Comprehension ist:

[ausdruck for element in iterable]

Dies erzeugt eine Liste, die aus dem ausdruck für jedes element in einer iterable besteht.

Beispiel

Hier wird jeder Wert in einer bestehenden Liste mit 2 multipliziert:

zahlen = [1, 2, 3, 4]
doppelt = [x * 2 for x in zahlen]
print(doppelt)  # Ausgabe: [2, 4, 6, 8]

List Comprehensions mit Bedingung

Mit List Comprehensions können Sie auch Bedingungen hinzufügen, um bestimmte Elemente auszuwählen.

zahlen = [1, 2, 3, 4, 5, 6]
gerade_zahlen = [x for x in zahlen if x % 2 == 0]
print(gerade_zahlen)  # Ausgabe: [2, 4, 6]

In diesem Beispiel wird nur jedes gerade Element ausgewählt.

Verschachtelte List Comprehensions

List Comprehensions können auch verschachtelt werden, um Listen von Listen zu erstellen, wie z.B. eine 2D-Matrix:

matrix = [[j for j in range(3)] for i in range(3)]
print(matrix)
# Ausgabe: [[0, 1, 2], [0, 1, 2], [0, 1, 2]]

List Comprehensions mit mehreren Bedingungen

Es ist auch möglich, mehrere Bedingungen einzufügen. Diese können durch if– und else-Statements weiter angepasst werden.

zahlen = [1, 2, 3, 4, 5]
ergebnis = ["gerade" if x % 2 == 0 else "ungerade" for x in zahlen]
print(ergebnis)  # Ausgabe: ['ungerade', 'gerade', 'ungerade', 'gerade', 'ungerade']

Beispiele für häufige Anwendungen

Zeichenkette in Großbuchstaben umwandeln

woerter = ["apfel", "banane", "kirsche"]
grossbuchstaben = [wort.upper() for wort in woerter]
print(grossbuchstaben)  # Ausgabe: ['APFEL', 'BANANE', 'KIRSCHE']

Zahlen in Quadrat umwandeln

zahlen = [1, 2, 3, 4]
quadrate = [x ** 2 for x in zahlen]
print(quadrate)  # Ausgabe: [1, 4, 9, 16]

Häufig gestellte Fragen

Was ist eine List Comprehension?

Eine List Comprehension ist eine kompakte Methode zur Erstellung von Listen in Python, die auf Ausdrücken und Schleifen basiert.

Kann ich Bedingungen in List Comprehensions verwenden?

Ja, Bedingungen wie if können hinzugefügt werden, um bestimmte Elemente zu filtern.

Wie erstelle ich eine verschachtelte List Comprehension?

Verwenden Sie eine List Comprehension innerhalb einer anderen, z.B. [[j for j in range(3)] for i in range(3)] für eine Matrix.

Was ist der Vorteil von List Comprehensions?

Sie sind kompakter, oft besser lesbar und performanter als herkömmliche Schleifen.