Maison  >  Article  >  développement back-end  >  Exemple de fonction réduire() en python

Exemple de fonction réduire() en python

黄舟
黄舟original
2017-10-03 05:44:491645parcourir

La fonction réduire() accumulera des éléments dans la séquence de paramètres. L'article suivant vous présente principalement l'utilisation de la fonction réduire() en Python. L'article la présente en détail à travers un exemple de code. Il est très utile pour tout le monde. apprentissage ou Le travail a une certaine valeur de référence et d'apprentissage. Les amis qui en ont besoin peuvent jeter un œil ci-dessous.

Avant-propos

Cet article présente principalement le contenu pertinent sur l'utilisation de la fonction réduire() en python, et le partage pour votre référence et étude. Pas grand chose à dire ci-dessous, jetons un œil à l'introduction détaillée : La fonction

reduce() est dans la bibliothèque functools Si vous souhaitez l'utiliser, vous devez l'importer depuis cette bibliothèque. La fonction de réduction est différente de la fonction map. L'opération map est une opération parallèle. La fonction de réduction est une opération qui combine plusieurs paramètres, c'est-à-dire le résultat d'une simplification à partir de plusieurs conditions dans les algorithmes informatiques. simplifier. Par exemple, identifier si une image est un chat, c'est extraire un jugement de plusieurs pixels : oui ou non. Il peut y avoir des millions de pixels, mais un seul résultat sera obtenu. Dans les clusters à grande échelle de GOOGLE, cette idée est utilisée pour appeler la carte des opérations de traitement parallèle précédentes. Les résultats après traitement parallèle doivent être simplifiés et classés. Ce processus de simplification et de classification est appelé réduction. Étant donné que la réduction ne peut fonctionner que sur un seul hôte et ne peut pas être traitée de manière distribuée, les résultats de la cartographie des processus réduits, ce qui signifie que ces résultats sont très simples, la quantité de données est considérablement réduite et le traitement est très rapide.

Par conséquent, le processus mapreduce peut être appelé le processus d'analyse et d'induction.

Regardez l'exemple de réduction() ci-dessous :


#python 3. 6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from functools import reduce 
 
result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 
print(result)

Résultat de sortie :

15

Dans cet exemple, le processus de calcul est en fait comme ceci :

((( (1+2)+3)+4)+5)


Regardez un autre exemple factoriel :


#python 3. 6 
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
from functools import reduce 
 
n = 3 
print(reduce(lambda x, y: x * y, range(1, n + 1))) # 6

Résultat de sortie :

6

fonction de réduction, la fonction de réduction sera Accumulez des éléments dans la séquence de paramètres.

Définition de la fonction réduire :


reduce(function, sequence[, initial]) -> value

Le paramètre fonction est un paramètre à deux paramètres Fonction, réduire prend à son tour un élément de la séquence et appelle à nouveau la fonction avec le résultat du dernier appel à la fonction comme paramètre.

Lorsque la fonction est appelée pour la première fois, si le paramètre initial est fourni, la fonction sera appelée avec le premier élément de la séquence et initial en paramètres, sinon les deux premiers éléments de la La séquence sera utilisée comme paramètres d’appel de la fonction.


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

Le résultat est 21( (((((1+2)+3)+4)+5)+6) )


reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])

Le résultat est 20

Résumé

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