single
Filter Function in Use
Swipe um das Menü anzuzeigen
Sie haben bereits gesehen, wie höherwertige Funktionen wie map es ermöglichen, eine Funktion auf jedes Element einer Sequenz anzuwenden. Eine weitere wichtige höherwertige Funktion in Python ist filter.
Die Funktion filter wird verwendet, um Elemente aus einer Sequenz auszuwählen, basierend darauf, ob sie eine bestimmte Bedingung erfüllen. Sie nimmt zwei Argumente entgegen: eine Funktion, die für jedes Element True oder False zurückgibt, und die zu filternde Sequenz. Das Ergebnis ist ein Iterator, der nur diejenigen Elemente enthält, für die die Funktion True zurückgibt. Dies macht filter besonders nützlich, wenn bestimmte Elemente aus einer Liste, einem Tupel oder einem anderen Iterable anhand eines Kriteriums extrahiert werden sollen, wie zum Beispiel gerade Zahlen, positive Werte oder Zeichenketten einer bestimmten Länge.
123456def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
Dieser Code verwendet die Funktion filter(), um eine neue Liste zu erstellen, die nur die geraden Ganzzahlen aus einer bestehenden Sammlung enthält. Dies geschieht durch die Definition einer Prädikatsfunktion, is_even(n). Die Funktion filter durchläuft die Liste numbers, wendet diese Überprüfung auf jedes Element an und verwirft alle, die die Bedingung nicht erfüllen. Abschließend wird das resultierende Filter-Objekt wieder in eine Liste umgewandelt, wodurch die Ausgabe entsteht.
Bei Verwendung der Funktion filter wird ein Filter-Objekt zurückgegeben, das ein Iterator ist — keine Liste. Wenn das Ergebnis von filter direkt ausgegeben wird, erscheint eine Ausgabe ähnlich wie:
<filter object at 0xfffec885eb30>
Um die gefilterten Werte als Liste zu erhalten, muss das Filter-Objekt mit list() umgewandelt werden.
Wischen, um mit dem Codieren zu beginnen
Sie werden die Funktion filter verwenden, um positive Zahlen aus einer Liste auszuwählen.
- Die Funktion
is_positivesollTruezurückgeben, wenn das Argument größer als null ist, andernfallsFalse. - Die Funktion
filter_positivesoll die Funktionfilterzusammen mitis_positiveverwenden, um eine neue Liste zu erstellen, die nur die positiven Zahlen aus der Eingabeliste enthält. - Die Funktion soll diese neue Liste zurückgeben.
- Vergessen Sie nicht,
passzu entfernen.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen