Ce qui est le plus idiomatique moyen de parvenir à quelque chose comme ce qui suit, en Haskell:
foldl (+) 0 [1,2,3,4,5]
--> 15
Ou son équivalent en Ruby:
[1,2,3,4,5].inject(0) {|m,x| m + x}
#> 15
Évidemment, Python fournit l' reduce
de la fonction, qui est une implémentation de fois, exactement comme ci-dessus, cependant, on m'a dit que le " pythonic le mode de programmation est pour éviter lambda
termes et fonctions d'ordre supérieur, préférant la liste des compréhensions lorsque cela est possible. Donc, est-il un moyen privilégié de pliage, une liste, de liste ou de structure en Python qui n'est pas l' reduce
de la fonction, ou est - reduce
le idiomatiques moyen d'y parvenir?