Die reduce
-Funktion ist eine nützliche eingebaute Funktion in Python, die in der Standardbibliothek functools
verfügbar ist. Die Funktion nimmt eine Funktion und ein Iterable als Argumente und reduziert das Iterable auf einen einzelnen Wert, indem die Funktion auf die Elemente des Iterables angewendet wird.
Die Syntax der reduce
-Funktion ist wie folgt:
from functools import reduce result = reduce(function, iterable, [initial])
Ein einfaches Beispiel für die Verwendung der reduce
-Funktion ist die Summierung aller Elemente einer Liste:
from functools import reduce numbers = [1, 2, 3, 4] product_of_numbers = reduce(lambda x, y: x * y, numbers) print(product_of_numbers) # Output: 24
Die Funktion, die an reduce
übergeben wird, muss nicht notwendigerweise eine Lambda-Funktion sein. Sie kann auch eine reguläre Funktion sein, die zwei Argumente nimmt und einen Wert zurückgibt.
from functools import reduce def multiply(x, y): return x * y numbers = [1, 2, 3, 4] product_of_numbers = reduce(multiply, numbers) print(product_of_numbers) # Output: 24
Das gleiche Ergebnis könnte auch mit einer for-Schleife erreicht werden, aber die reduce
-Funktion bietet eine kompaktere und oft lesbarere Lösung.
numbers = [1, 2, 3, 4] product_of_numbers = 1 # Initialer Wert muss 1 sein, damit die Multiplikation funktioniert for num in numbers: product_of_numbers *= num print(product_of_numbers) # Output: 24