Heim >Backend-Entwicklung >Python-Tutorial >Pythons Äquivalent zu sum(): Wo ist die „Product()'-Alternative?

Pythons Äquivalent zu sum(): Wo ist die „Product()'-Alternative?

DDD
DDDOriginal
2024-10-23 00:58:02877Durchsuche

Python's Equivalent to sum(): Where's the

Wo ist Pythons Produktanalogon von sum()?

Pythons vielseitige sum()-Funktion bietet eine praktische Möglichkeit, die Summe von Zahlen in zu berechnen eine Folge. Einige Entwickler haben jedoch nach einer ähnlichen Funktion gesucht, die in der Lage ist, eine Multiplikation auf einem iterierbaren Wert durchzuführen. Entgegen der landläufigen Meinung ist eine solche Funktion nicht in der Python-Standardbibliothek enthalten.

Da es keine integrierte „product()“-Funktion gibt, hat sich die Entwicklergemeinschaft verschiedene Problemumgehungen ausgedacht. Ein bemerkenswerter Ansatz besteht darin, die Funktion „reduce()“ in Verbindung mit dem Operatormodul zu nutzen.

Erstellen einer benutzerdefinierten Produktfunktion

Die Funktion „red()“ akzeptiert eine iterierbare und eine Binärfunktion und wendet die Funktion auf jedes Element in der Iterable an und akkumuliert das Ergebnis:

from functools import reduce
from operator import mul

# Example usage:
reduce(mul, (3, 4, 5), 1)
# Returns: 60

Die Funktion „operator.mul“ stellt die für die Produktberechnung erforderliche Multiplikationsfunktion bereit. Der optionale dritte zu reduzierende Parameter stellt einen Anfangswert dar, der in diesem Fall 1 ist. Dieser Anfangswert dient als Ausgangspunkt für die Produktakkumulation.

Obwohl Guido van Rossum, der Erfinder von Python, zunächst ein Veto gegen die Einbeziehung von einlegte Als dedizierte „product()“-Funktion bietet die Reduce()-Problemumgehung eine praktische Alternative für die Multiplikation von Iterables.

Das obige ist der detaillierte Inhalt vonPythons Äquivalent zu sum(): Wo ist die „Product()'-Alternative?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn