273 votes

Python: multiplie tous les éléments d'une liste

Je dois écrire une fonction qui prend une liste de nombres et les multiplie ensemble. Exemple: [1,2,3,4,5,6] me donnera 1*2*3*4*5*6 . Je pourrais vraiment utiliser votre aide.

255voto

rikAtee Points 1515

utiliser réduire

 >>> reduce(lambda x, y: x*y, [1,2,3,4,5,6])
720
 

194voto

icecrime Points 23650

Vous pouvez utiliser:

 import operator
import functools
functools.reduce(operator.mul, [1,2,3,4,5,6], 1)
 

Voir les documentations reduce et operator.mul pour une explication.

Vous avez besoin de la ligne import functools dans Python 3+.

78voto

DeadChex Points 943

Si vous voulez éviter d'importer quoi que ce soit et éviter des zones plus complexes de Python, vous pouvez utiliser une simple boucle for

 sum = 1  ##Don't use 0 here, otherwise, you'll get zero because anything times zero will be zero
list =[1,2,3]
for i in list:
    sum *= i
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X