Maison  >  Article  >  développement back-end  >  Existe-t-il un équivalent Python à la fonction Sum() pour la multiplication ?

Existe-t-il un équivalent Python à la fonction Sum() pour la multiplication ?

DDD
DDDoriginal
2024-10-23 06:02:01732parcourir

Is There a Python Equivalent to the Sum() Function for Multiplication?

La fonction produit insaisissable - Une alternative pythonique

Bien que la fonction sum() de Python fournisse commodément la somme des nombres dans un itérable, il semble il y a un manque notable de fonction analogue pour la multiplication. Naturellement, les développeurs recherchent souvent une fonction qui effectue une opération similaire mais pour multiplier des valeurs, similaire à sum().

Cependant, malgré son attrait intuitif, une telle fonction intégrée, telle que product(), ne n'existe pas dans la bibliothèque standard de Python. Historiquement, le créateur Guido van Rossum a opposé son veto à l'idée en raison d'une confusion potentielle avec l'opérateur de multiplication (*).

Malgré l'absence d'une fonction product() dédiée, il existe des approches alternatives pour réaliser l'accumulation de multiplication. Une solution consiste à utiliser la fonction réduire() en conjonction avec le module opérateur. Voici un exemple :

from functools import reduce
import operator

product = reduce(operator.mul, (3, 4, 5), 1)  # Initialize with 1 for multiplication accumulation
# Result: 60

Dans cet exemple, réduire() applique Operator.mul aux éléments de la séquence (3, 4, 5) et accumule les résultats dans la variable product. Notez que nous initialisons le produit avec 1 pour éviter de commencer par 0, ce qui multiplierait incorrectement tous les éléments à 0.

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