Listenverständnis vs. Lambda + Filter

List comprehension und die Kombination von Lambda-Funktionen und der filter()-Funktion in Python werden beide verwendet, um eine Liste zu filtern und eine neue Liste mit nur den Elementen zurückzugeben, die eine bestimmte Bedingung erfüllen.

Hier ist ein Beispiel für eine List comprehension, die eine Liste von Zahlen filtert und nur die geraden Zahlen zurückgibt:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)

Ausgabe: [2, 4, 6]

Hier ist ein gleichwertiges Beispiel mit einer Lambda-Funktion und der filter()-Funktion:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))

Ausgabe: [2, 4, 6]

Beide Methoden geben das gleiche Ergebnis. Welche verwendet wird, hängt von der Lesbarkeit des Codes und der Präferenz des Entwicklers ab.