Die Map-, Filter- und Reduce-Funktionen von Python verstehen
Python bietet mehrere funktionale Programmiertools, die Datenverarbeitungsaufgaben vereinfachen können. Dazu gehören die Funktionen map
, filter
und reduce
. Mit diesen Funktionen können Sie Operationen an Datensammlungen auf prägnante und lesbare Weise durchführen. Dieser Artikel untersucht jede dieser Funktionen und bietet Beispiele, die Ihnen helfen, zu verstehen, wie Sie sie effektiv nutzen können.
Die Funktion map
Die Funktion map
wendet eine bestimmte Funktion auf alle Elemente in einer Eingabeliste (oder einem beliebigen Iterable) an und gibt einen Iterator zurück, der die Ergebnisse liefert. Dies ist insbesondere nützlich, um Transformationen auf jedes Element in einer Sammlung anzuwenden.
Syntax
map(function, iterable)
Beispiel
Angenommen, Sie möchten jede Zahl in einer Liste quadrieren. Dazu können Sie map
verwenden:
# Define a function to square a number
def square(x):
return x * x
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Apply the function to each item in the list
squared_numbers = map(square, numbers)
# Convert the result to a list and print
print(list(squared_numbers)) # Output: [1, 4, 9, 16, 25]
Die Funktion filter
Die Funktion filter
wird verwendet, um Elemente aus einem Iterable herauszufiltern, basierend auf einer Funktion, die True
oder False
zurückgibt. Nur die Elemente, für die die Funktion True
zurückgibt, sind im Ergebnis enthalten.
Syntax
filter(function, iterable)
Beispiel
Wenn Sie beispielsweise nur die geraden Zahlen aus einer Liste behalten möchten, können Sie Filter
verwenden:
# Define a function to check if a number is even
def is_even(x):
return x % 2 == 0
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Filter the list using the function
even_numbers = filter(is_even, numbers)
# Convert the result to a list and print
print(list(even_numbers)) # Output: [2, 4]
Die Funktion reduce
Die Funktion reduce
, die Teil des Moduls functools
ist, wendet eine binäre Funktion kumulativ auf die Elemente eines Iterables an, von links nach rechts, um das Iterable auf einen einzelnen Wert zu reduzieren.
Syntax
from functools import reduce
reduce(function, iterable[, initializer])
Beispiel
Um beispielsweise das Produkt aller Zahlen in einer Liste zu finden, können Sie reduce
verwenden:
from functools import reduce
# Define a function to multiply two numbers
def multiply(x, y):
return x * y
# List of numbers
numbers = [1, 2, 3, 4, 5]
# Reduce the list using the function
product = reduce(multiply, numbers)
# Print the result
print(product) # Output: 120
Abschluss
Die Funktionen map
, filter
und reduce
sind leistungsstarke Tools für die funktionale Programmierung in Python. Sie bieten elegante Lösungen zum Anwenden von Transformationen, Filtern von Daten und Reduzieren von Sammlungen auf einen einzigen Wert. Wenn Sie diese Funktionen beherrschen, können Sie prägnanteren und ausdrucksstärkeren Code für eine Vielzahl von Datenverarbeitungsaufgaben schreiben.