English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Grund教程

Python Flow Control

Funktionen in Python

Datenarten in Python

Python Dateioperationen

Python Objekte und Klassen

Python Datum und Zeit

Python Fortgeschrittene Kenntnisse

Python Referenzhandbuch

Python filter() Verwendung und Beispiel

Python-integrierte Funktionen

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() Parameter

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() Rückgabewert

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)

Beispiel1Wie behandelt filter() eine iterierbare Liste?

# 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.

Beispiel2Wie funktioniert die filter()-Methode ohne filter-Funktion?

# 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).

Python-integrierte Funktionen