Die filter()-Methode und Lambda-Funktionen in Python
Wenn wir mit iterierbaren Datenstrukturen wie Arrays, Listen und Tupeln arbeiten, müssen wir oft Filteroperationen über sie durchführen.
Filtern bezieht sich auf das Herausnehmen der Werte, die einer bestimmten Bedingung entsprechen. Man kann eine Filterung durchführen, indem man über den iterierbaren Datenstrukturwert und -wert unter Verwendung einer for
-Schleife oder einer while
-Schleife iteriert und prüft, ob das Element die Bedingung erfüllt oder nicht.
Da dies eine häufige Aufgabe ist, hat die Programmiersprache Python eine eingebaute Methode, filter()
. Diese Methode benötigt eine Funktion, um eine Filterung durchzuführen.
Im Allgemeinen werden für diese Aufgabe lambda
-Methoden in Betracht gezogen, da sie einfach zu schreiben sind. Dieser Artikel zeigt, wie man die filter()
-Methode und lambda
-Funktionen zusammen in Python verwendet.
Die filter()
-Methode und lambda
-Funktionen in Python
Die filter
-Methode ist eine eingebaute Methode in der Programmiersprache Python, die verwendet wird, um Elemente aus einem Iterable zu filtern, die eine bestimmte Bedingung erfüllen. Eine Funktion stellt die Bedingung dar, und die Werte, für die die Funktion True
zurückgibt, werden im Ergebnis berücksichtigt.
Der filter()
akzeptiert zwei Parameter; eine Funktion zum Filtern, die einen booleschen Wert und ein iterierbares Objekt wie eine Liste oder ein Tupel zurückgibt. Die Methode filter()
ist ein Iterator oder Filterobjekt
.
Wir müssen den Iterator mit der Methode list()
oder der Methode tuple()
in eine Liste oder ein Tupel umwandeln. Die lambda
-Funktionen sind Inline- und anonyme Funktionen in Python.
Diese Funktionen können zusammen mit der filter
-Methode verwendet werden.
Die lambda
-Funktionen haben die folgende Syntax.
lambda < parameters > : < expression >
Parameter sollten durch Kommas getrennt werden und der Ausdruck sollte ein boolesches Ergebnis zurückgeben (True
oder False
).
Lassen Sie uns anhand eines einfachen Beispiels verstehen, wie man die beiden zusammen verwendet. Siehe dazu den folgenden Python-Code.
array = [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
new_array = list(filter(lambda x: x <= 20, array))
print("Old Array:", array)
print("New Array:", new_array)
Ausgabe:
Old Array: [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
New Array: [11, 13, 4, 15, 7, 8, 10]
Der obige Python-Code filtert alle Werte aus der Liste der Integer, array
, die kleiner oder gleich 20
sind.
Jeder Wert der Liste wird an die lambda
-Funktion übergeben. Wenn es True
zurückgibt, wird der Wert zum Ergebnis hinzugefügt; ansonsten nicht.
Sobald das Ergebnis in einem Iterator erhalten wurde, wird es mit der eingebauten list()
-Methode in eine Liste umgewandelt. Zuletzt werden beide Arrays an die Konsole ausgegeben.
Beispiele
Im Folgenden finden Sie einige Beispiele, um die gemeinsame Verwendung der filter()
-Methode und der lambda
-Funktionen zu verstehen.
Filtern aller geraden Zahlen aus einer Liste von Ganzzahlen
array = [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
new_array = list(filter(lambda x: x % 2 == 0, array))
print("Old Array:", array)
print("New Array:", new_array)
Ausgabe:
Old Array: [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
New Array: [2, 4, 66, 88, 100]
Filtern Sie alle ungeraden Zahlen aus einer Liste von ganzen Zahlen
array = [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
new_array = list(filter(lambda x: x % 2 == 1, array))
print("Old Array:", array)
print("New Array:", new_array)
Ausgabe:
Old Array: [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
New Array: [1, 3, 5, 77, 99]
Filtern aller Strings der Länge 5 aus einer Liste von Strings
array = [
"hello",
"python",
"world",
"walking",
"sleep",
"shelter",
"food",
]
new_array = list(filter(lambda x: len(x) == 5, array))
print("Old Array:", array)
print("New Array:", new_array)
Ausgabe:
Old Array: ['hello', 'python', 'world', 'walking', 'sleep', 'shelter', 'food']
New Array: ['hello', 'world', 'sleep']
Filterung aller Zahlen im Bereich [10, 20]
aus einer Liste von Ganzzahlen
array = [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
new_array = list(filter(lambda x: 10 <= x <= 20, array))
print("Old Array:", array)
print("New Array:", new_array)
Ausgabe:
Old Array: [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
New Array: [11, 13, 15, 10]
Verwandter Artikel - Python Function
- Beenden Sie eine Funktion in Python
- Optionale Argumente in Python
- Argumente in der Funktion main() in Python
- Eingebaute Identitätsfunktion in Python
- Erstklassige Funktionen in Python
- Funktionssignatur erhalten