Maison  >  Article  >  développement back-end  >  L'équivalent Python de sum() : où est l'alternative \"Product()\" ?

L'équivalent Python de sum() : où est l'alternative \"Product()\" ?

DDD
DDDoriginal
2024-10-23 00:58:02814parcourir

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

Où est l'analogue du produit Python de sum() ?

La fonction polyvalente sum() de Python offre un moyen pratique de calculer la somme des nombres dans une séquence. Cependant, certains développeurs ont recherché une fonction similaire capable d'effectuer une multiplication sur un itérable. Malgré la croyance populaire, aucune fonction de ce type n'est incluse dans la bibliothèque standard Python.

En l'absence d'une fonction "product()" intégrée, la communauté des développeurs a proposé diverses solutions de contournement. Une approche notable consiste à exploiter la fonction réduire() en conjonction avec le module opérateur.

Création d'une fonction de produit personnalisée

La fonction réduire() accepte un itérable et un fonction binaire et applique la fonction à chaque élément de l'itérable, accumulant le résultat :

from functools import reduce
from operator import mul

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

La fonction Operator.mul fournit la fonctionnalité de multiplication requise pour le calcul du produit. Le troisième paramètre facultatif à réduire représente une valeur initiale, qui dans ce cas est 1. Cette valeur initiale sert de point de départ à l'accumulation du produit.

Bien que Guido van Rossum, le créateur de Python, ait initialement opposé son veto à l'inclusion de une fonction dédiée "product()", la solution de contournement réduire() offre une alternative pratique pour effectuer une multiplication sur des itérables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn