Fonction reduce() de Python

Python 内置函数Fonctions intégrées 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)

#!/usr/bin/python
# -*- 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)

#!/usr/bin/python
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
15

Python 内置函数Fonctions intégrées de Python

Autres extensions