top of page

Qu’est-ce qu’une fonction lambda ? pourquoi et comment l’utiliser ?

  • Writer: MYPE SAS
    MYPE SAS
  • Jan 6, 2023
  • 2 min read

Updated: Jun 24

Le langage Python propose l’utilisation des fonctions lambda. Il s’agit d’une fonction anonyme qui n’a qu’une seule instruction. Ces fonctions se comportent de la même manière que les fonctions régulières déclarées par le mot-clé « def ». Elles sont généralement utilisées à l’intérieur de d’autres fonctions.


Pour bien comprendre pourquoi et comment on les utilise, partons d’un exemple simple :


ree
ree

On a ici une fonction qui a pour but de retourner une liste. Elle prend en paramètre une liste. Pour chaque élément de la liste, Python va tester si l’élément est un multiple de 2. Si c’est le cas, l’élément est rajouté dans une nouvelle liste. Quand Python a fini de boucler sur la liste d’origine, il retourne la liste des divisibles par 2.


Pour réussir ce code, on a pris le temps de développer ligne pas ligne la boucle ‘for’. Mais il est possible de faire exactement la même chose avec un code simplifié :

ree
ree

Cette fonction nous amène au même résultat. Sauf que cette fois ci on a mis directement dans l’instruction ‘return’. On peut lire le code de la manière suivante : A partir du premier élément ‘i’, pour chaque élément ‘i’ de la liste, si l’élément est un multiple de 2 alors on ajoute cet élément dans la liste que l’on retourne à l’utilisateur.


Maintenant voyons comment et pourquoi se servir d’une fonction lambda dans cet exemple :


ree
ree

L’instruction que l’on a ici renvoie le même résultat. On constate dans le code l’utilisation de la fonction lambda. La fonction lambda renvoie un objet qui est affecté à la variable ‘a’, exactement comme fonction classique. On peut lire le code de la manière suivante : A partir du premier élément ‘i’, pour chaque élément ‘i’ du filtre sur les multiples de 2 de la liste, on renvoie un objet qui sera stocké dans une liste appelée ‘a’.


La fonction lambda correspond dans le deuxième exemple à la partie du code : « if i % 2 == 0 » ou bien dans le premier exemple à la partie du code : « if i % 2 == 0: new_liste.append(i) ».


On retrouve bien les caractéristiques de la fonction lambda : elle est anonyme, elle n’a qu’une seule instruction (mais peu avoir autant d’argument que l’on souhaite) et elle intervient à l’intérieur d’une autre fonction qui est ‘filter()’.


On l’utilise ici parce qu’on souhaite l’utiliser qu’une seule fois. On ne pourra pas l’utiliser une deuxième fois puisqu’elle n’a pas de nom. On ne peut que réutiliser son résultat et non pas sa fonctionnalité. Ce n’est pas la même chose.


Vous pouvez consulter nos formations sur cette page.


N'hésitez pas également à consulter nos divers articles comme celui-ci.





 
 
 

Un formateur vous rappelle dans les 24h

Contact Expert Python

Laissez-nous vos coordonnées pour être rappelé dans les 24h.

bottom of page