Fonction reduce() de Python
Description
reduce()La fonction accumule les éléments de la séquence de paramètres.
La fonction effectue les opérations suivantes sur toutes les données d'une collection de données (liste, tuple, etc.) : elle utilise d'abord la fonction passée à reduce (qui a deux paramètres) pour opérer sur le 1er et le 2e élément de la collection, puis utilise la fonction pour opérer le résultat obtenu avec le troisième élément de données, et obtient finalement un résultat.
Remarque :Dans Python 3.x, reduce() a été déplacé vers le module functools. Si nous voulons l'utiliser, nous devons importer le module functools pour appeler la fonction reduce() :
from functools import reduce
Syntaxe
La syntaxe de la fonction reduce() est la suivante :
reduce(function, iterable[, initializer])
Parameters
- function -- Une fonction avec deux paramètres
- iterable -- Un objet itérable
- initializer -- Facultatif, paramètre initial
Valeur de retour
Renvoie le résultat calculé de la fonction.
Exemples
Les exemples suivants illustrent l'utilisation de reduce() :
Exemple (Python 2.x)
# -*- coding: UTF-8 -*-
def add(x, y) : # Additionner deux nombres
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # Calculer la somme de la liste : 1+2+3+4
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # Utiliser une fonction anonyme lambda
print(sum1)
print(sum2)
Exemple (Python 3.x)
from functools import reduce
def add(x, y) : # Additionner deux nombres
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # Calculer la somme de la liste : 1+2+3+4
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # Utiliser une fonction anonyme lambda
print(sum1)
print(sum2)
La sortie des exemples ci-dessus est :
15 15Autres extensions
Fonctions intégrées de Python