chapitre suivant: compréhension de liste
Lambda, filtrer, réduire et cartographier
opérateur Lambda
certains l’aiment, d’autres le détestent et beaucoup ont peur de l’opérateur lambda. Nous sommes confiants que vous aimerez, quand vous avez terminé avec ce chapitre de notre tutoriel., Sinon, vous pouvez tout apprendre sur les « compréhensions de liste », Guido van Rossums a préféré le faire, caril n’aime pas Lambda, cartographier, filtrer et réduire non plus.
l’opérateur lambda ou la fonction lambda est un moyen de créer de petites fonctions anonymes, c’est-à-dire des fonctions sans nom. Ces fonctions sont des fonctions à jeter, c’est-à-dire qu’elles sont juste nécessaires là où elles ont été créées.Les fonctions Lambda sont principalement utilisées en combinaison avec les fonctions filter(), map() et reduce().La fonctionnalité lambda a été ajoutée à Python en raison de la demande des programmeurs Lisp.,
la syntaxe générale d’une fonction lambda est assez simple:
lambda argument_list: expression
la liste d’arguments consiste en une liste d’arguments séparés par des virgules et l’expression est une expression arithmétique utilisant ces arguments. Vous pouvez affecter la fonction à une variable pour lui donner un nom.
L’exemple suivant d’un lambda fonction renvoie la somme de ses deux arguments:
>>> f = lambda x, y : x + y>>> f(1,1)2
La carte en Fonction de ()
L’avantage de l’opérateur lambda peut être vu quand il est utilisé en combinaison avec la carte() fonction.,
map() est une fonction à deux arguments:
r = map(func, seq)
Le premier argument func est le nom d’une fonction et la deuxième séquence (par exemple une liste) seq. map () applique la fonction func à tous les éléments de la séquence seq. Il retourne une nouvelle liste avec les éléments modifiés par funcIn l’exemple ci-dessus, nous n’avons pas utilisé lambda. En utilisant lambda, nous n’aurions pas eu à définir et nommer les fonctions fahrenheit() et celsius(). Vous pouvez le voir dans la session interactive suivante:map () peut être appliqué à plusieurs listes. Les listes doivent avoir la même longueur., map() appliquera sa fonction lambda aux éléments des listes d’arguments, c’est-à-dire qu’elle s’applique d’abord aux éléments avec le 0ème index, puis aux éléments avec le 1er index jusqu’à ce que le N-th index soit atteint:
>>> a = >>> b = >>> c = >>> map(lambda x,y:x+y, a,b)>>> map(lambda x,y,z:x+y+z, a,b,c)>>> map(lambda x,y,z:x+y-z, a,b,c)
nous pouvons voir dans l’exemple ci-dessus que le paramètre x obtient ses valeurs de la liste a, tandis que y obtient ses valeurs de b et z de la liste C.
filtrage
le filtre de fonction(function, list) offre un moyen élégant de filtrer tous les éléments d’une liste,pour lesquels la fonction function renvoie true.
Le filtre de fonction(f,l) a besoin d’une fonction f comme premier argument., f renvoie une valeur booléenne, c’est-à-dire soit vrai, soit faux. Cette fonction sera appliquée à chaque élément de la liste l. Seulement si f renvoie True, l’élément de la liste être inclus dans la liste des résultats.
réduire une liste
la fonction reduce(func, seq) applique continuellement la fonction func() à la séquence seq. Il renvoie une valeur unique.,
Si seq =, appeler reduce (func, seq) fonctionne comme ceci:
nous illustrons ce processus dans l’exemple suivant:
>>> reduce(lambda x,y: x+y, )113
le diagramme suivant montre les étapes intermédiaires du calcul:
exemples de reduce ()
déterminer le maximum d’une liste de valeurs numériques en 1a17fa52c4″>
calcul de la somme des nombres de 1 à 100:
>>> reduce(lambda x, y: x+y, range(1,101))5050
chapitre suivant: compréhension de la liste