Python filter()-Built-in-Funktion
Aus der Python 3 Dokumentation
Erstellt einen Iterator aus jenen Elementen des iterierbaren Objekts, für die die Funktion `True` zurückgibt. Das iterierbare Objekt kann eine Sequenz, ein Container, der Iteration unterstützt, oder ein Iterator sein. Wenn function `None` ist, wird die Identitätsfunktion angenommen, d.h. alle Elemente des iterierbaren Objekts, die falsch sind, werden entfernt.
Einführung
Die filter()-Funktion in Python ist eine eingebaute Funktion, mit der Sie ein iterierbares Objekt verarbeiten und diejenigen Elemente extrahieren können, die eine bestimmte Bedingung erfüllen. Sie gibt einen Iterator mit den Elementen zurück, die die Kriterien erfüllen.
Syntax
filter(function, iterable)
- function: Die Funktion, die für jedes Element im iterierbaren Objekt ausgeführt werden soll. Sie sollte für jedes Element
TrueoderFalsezurückgeben. - iterable: Das zu filternde iterierbare Objekt, z. B. eine Liste, ein Tupel oder ein String.
Beschreibung
Die filter()-Funktion erstellt einen Iterator aus jenen Elementen des iterierbaren Objekts, für die die Funktion True zurückgibt. Wenn die Funktion None ist, entfernt sie alle Elemente des iterierbaren Objekts, die falsch sind.
Beispiel
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)
[2, 4, 6]
In diesem Beispiel wird die Funktion is_even definiert, um festzustellen, ob eine Zahl gerade ist oder nicht. Die filter-Methode nimmt zwei Argumente entgegen: das erste Argument ist die Funktion, die auf jedes Element der Liste angewendet wird, und das zweite Argument ist die zu filternde Liste. Die filter-Methode gibt einen Iterator zurück, der dann in eine Liste umgewandelt und in der Variablen even_numbers gespeichert wird. Die endgültige Ausgabe ist die Liste der geraden Zahlen aus der ursprünglichen Liste.
Relevante Links
- map(): Wendet eine Funktion auf jedes Element eines iterierbaren Objekts an und gibt einen Iterator mit den Ergebnissen zurück.
- iter(): Gibt ein Iterator-Objekt zurück.
- List Comprehensions: Eine prägnante Methode zur Erstellung von Listen, die oft als Alternative zu
filter()verwendet wird. - Comprehensions
- Funktionen
- reduce()