English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
filter() Methode konstruiert einen Iterator aus den Elementen des iterierbaren Objekts, für die die Funktion true zurückgibt.
Einfach gesagt, filter() Methode filtert den gegebenen iterable unter Verwendung einer Funktion, die überprüft, ob jedes Element des iterable wahr ist.
filter() Methode Syntax:
filter(function, iterable)
filter() Methode nimmt zwei Parameter:
function-
Funktion zum Testen der Elemente des iterable, die true oder false zurückgibt, wenn None, ist die Standardfunktion Identity-Funktion-Wenn irgendein Element false ist, wird false zurückgegeben
iterable-Der zu filternde iterable kann seinMenge,Liste,Tupeloder ein Container für Iteratoren
filter() Methode gibt einen Iterator zurück, der jedem Element des iterable die Funktion übergibt, um zu überprüfen.
filter() Methode äquivalent zu:
# Wenn die Funktion definiert ist (element für element in iterable if function(element)) # Wenn die Funktion leer ist (element für element in iterable if element)
# Liste geordnet nach Alphabet alphabets = ['a', 'b', 'd', 'e', 'i', 'j', 'o'] # Funktion zum Filtern der Vowel def filterVowel(alphabet): vowe = ['a', 'e', 'i', 'o', 'u'] if(alphabet in vowe): return True else: return False gefilterteVowel = filter(filterVowel, alphabets) print('Gefilterte Vowel sind:') für vowe in gefilterteVowel: print(vowel)
Wenn das Programm ausgeführt wird, ist die Ausgabe:
Die gefilterten Vokale sind: a e i o
hier haben wir eine Liste von Buchstaben aufgeführt, von der nur die Vokale gefiltert werden müssen.
Wir können den for-Zyklus verwenden, um durchalphabetsJedes Element der Liste und speichert es in einer anderen Liste, aber in Python kann der Prozess mit der filter()-Methode schneller und einfacher gemacht werden.
Wir haben eine filterVowels-Funktion, die überprüft, ob ein Buchstabe ein Vokal ist. Diese Funktion wird zusammen mit der Buchstabenliste an die filter()-Methode übergeben.
Dann gibt der filter()-Methoden jedes Buchstabe an die filterVowels()-Methode weiter, um zu überprüfen, ob er true zurückgibt. Schließlich erstellt er einen Iterator, der true (Vokale) zurückgibt.
Da der Iterator selbst keine Werte speichert, iterieren wir durch ihn und geben die Vokale nacheinander aus.
# Zufällige Liste randomList = [1, 'a', 0, False, True, '0'] filteredList = filter(None, randomList) print('Die gefilterten Elemente sind:') for element in filteredList: print(element)
Wenn das Programm ausgeführt wird, ist die Ausgabe:
Die gefilterten Elemente sind: 1 a True 0
HierrandomListist eine zufällige Liste, die aus Zahlen, Strings und Boolean-Werten besteht.
Wir werdenrandomListan den ersten Parameter von filter() (Filterfunktion) übergeben wirdMethoden von None.
Wenn die filter-Funktion auf None gesetzt wird, ist die Standardfunktion Identity-Funktion und überprüftin der randomListjedes Element überprüfen, ob es true ist.
wenn wir den endgültigenbei der filterList, das Element, das wir erhalten, ist true: (1, a, True und '0' als String, daher ist '0' auch true).