logo

Python filter() Funktion

Die in Python integrierte Funktion filter() ist ebenfalls leistungsstark. zum Durchführen von Datenfilterungsverfahren für Sequenzen wie Listen, Tupel und Zeichenfolgen. Die Funktion filter() wird verwendet, um eine Funktion auf jedes Element eines Iterables (z. B. einer Liste oder eines Tupels) anzuwenden und ein anderes Iterable zurückzugeben, das nur die Elemente enthält, für die die Funktion True zurückgibt. In diesem Sinne ermöglicht uns filter() das Herausfiltern von Elementen aus einer Gruppierung basierend auf einer bestimmten Bedingung. Das erste Argument kann None sein, wenn die Funktion nicht verfügbar ist und nur Elemente zurückgibt, die True sind.

Syntax:

 filter (function, iterable) 

Parameter

Funktion: Es ist eine Funktion. Bei der Einstellung „None“ werden nur Elemente zurückgegeben, die „True“ sind.

Wiederholbar: Jede iterierbare Sequenz wie Liste, Tupel und String.

Beide Parameter sind erforderlich.

Zurückkehren

Es gibt dasselbe zurück, was von der Funktion zurückgegeben wurde.

Algorithmus für BFS

Sehen wir uns einige Beispiele der Funktion filter() an, um deren Funktionalität zu verstehen.

Python filter() Funktionsbeispiel 1

Dieses einfache Beispiel gibt mithilfe der Filterfunktion Werte über 5 zurück. Siehe das folgende Beispiel.

Code

 # Python filter() function example def filterdata(x): if x>5: return x # Calling function result = filter(filterdata,(1,2,6)) # Displaying result print(list(result)) 

Ausgabe:

Protokolle der Datenverbindungsschicht
[6] 

Der Code definiert eine Funktion namens filterdata, die ein einzelnes Argument x akzeptiert. In dieser Funktion prüfen wir, ob x größer als 5 ist, und drucken x aus, sofern dies zutrifft. Dann rufen wir die Funktion filter() auf und übergeben dabei filterdata als Hauptargument und ein Tupel (1, 2, 6) als nachfolgendes Argument. Die Funktion filter() wendet die Funktion filterdata() auf jedes Element des Tupels an und gibt einen Iterator zurück, der nur die Elemente enthält, die die Bedingung x > 5 erfüllen. Zuletzt konvertieren wir den Iterator mithilfe der Funktion list() in eine Liste und drucken Sie das Ergebnis aus.

Im Folgenden finden Sie einige zusätzliche Beispiele für die Verwendung der filter()-Methode in Python:

Beispiel 2:

Leere Zeichenfolgen aus einer Liste herausfiltern:

Code

 # Python filter() function example strings = [ '', 'hello', '', 'world', '' ] # Using filter() to remove empty strings from the list result = list(filter(lambda x: x != '', strings)) # Printing the result print(result) 

Ausgabe:

 [ 'hello', 'world' ] 

In diesem Beispiel prüft die Lambda-Funktion, ob jede Zeichenfolge nicht leer ist, indem sie unter der Annahme testet, dass sie der leeren Zeichenfolge ('') entspricht. Die Funktion filter() gibt eine weitere Iterable zurück, die nur die nicht leeren Zeichenfolgen enthält.

Beispiel 3:

Negative Zahlen aus einer Liste herausfiltern:

Code

 # Python filter() function example numbers = [ 1, -2, 3, -4, 5, -6 ] # Using filter() to remove negative numbers from the list result = list(filter(lambda x: x >= 0, numbers)) # Printing the result print(result) 

Ausgabe:

 [1, 3, 5] 

In diesem Beispiel prüft die Lambda-Funktion, ob jede Zahl nicht negativ ist, indem sie prüft, ob sie prominenter als oder äquivalent zu Null (0) ist. Die Funktion filter() gibt eine weitere Iterable zurück, die nur die nicht negativen Zahlen enthält.

Beispiel 4:

Filtern Sie Duplikate aus einer Liste heraus:

Code

 # Python filter() function example numbers = [ 1, 2, 3, 2, 4, 3, 5 ] # Using filter() to remove duplicate numbers from the list result = list(filter(lambda x: numbers.count(x) == 1, numbers)) # Printing the result print(result) 

Ausgabe:

 [ 1, 4, 5 ] 

In diesem Beispiel prüft die Lambda-Funktion, ob jede Zahl nur ein einziges Mal in der Zahlenliste vorkommt, indem sie zählt, wie oft sie auftaucht (numbers.count(x)) und prüft, ob die Zahl gleichwertig ist 1. Die Funktion filter() gibt eine weitere Iterable zurück, die nur die eindeutigen Zahlen enthält.

Java-Binärbaum

Hinweis: Es ist wichtig, dass in Python 3 die Funktion filter() ein Iterable zurückgibt, und das impliziert, dass Sie es wirklich vollständig in eine Liste umwandeln möchten (wie in den Beispielen oben gezeigt), um es als Liste einzubeziehen. Dennoch gibt die Funktion filter() in Python 2 natürlich eine Liste zurück.

Abschluss:

Schließlich ist die Funktion filter() ein leistungsstarkes Werkzeug zur Datenbearbeitung in Python. Durch das Filtern einer Iterable auf der Grundlage einer vordefinierten Bedingung können Sie schnell und effektiv die Daten trennen, die Sie wirklich benötigen. Sie können filter() auch in Kombination mit anderen Python-Funktionen verwenden, um komplexere Datenmanipulationen durchzuführen.