Accéder au contenu principal

Tutoriel Python lambda

Découvrez une manière plus rapide d’écrire des fonctions à la volée avec les fonctions lambda.
Actualisé 19 sept. 2026  · 3 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Vous pouvez écrire vos propres fonctions Python à l’aide du mot-clé def, d’un en-tête, d’une docstring et d’un corps de fonction. Toutefois, il existe une manière plus rapide de définir des fonctions à la volée : ce sont les fonctions lambda, créées avec le mot-clé lambda.

Certaines définitions de fonctions sont suffisamment simples pour être converties en fonction lambda. En procédant ainsi, vous écrivez moins de lignes de code, ce qui est très pratique, notamment lorsque vous développez et maintenez de gros programmes.

Fonction lambda

Ici, nous réécrivons notre fonction raise_to_power sous forme de fonction lambda. Après le mot-clé lambda, on indique les noms des arguments, puis on ajoute un deux-points suivi de l’expression qui décrit la valeur de retour souhaitée.

raise_to_power = lambda x, y: x ** y

raise_to_power(2, 3)
8

Comme mentionné, les fonctions lambda permettent d’écrire rapidement des fonctions de façon « léger et rapide ». Nous ne vous conseillons pas de les utiliser systématiquement, mais elles sont très utiles dans certaines situations, comme dans l’exemple ci-dessous.

map() et fonction lambda

La fonction map prend deux arguments : une fonction et une séquence (par exemple une liste), puis applique la fonction à tous les éléments de la séquence. Nous pouvons passer une fonction lambda à map sans même la nommer ; on parle alors de fonctions anonymes.

Dans cet exemple, nous utilisons map() avec une fonction lambda qui met au carré tous les éléments de la liste, et nous stockons le résultat dans square_all.

nums = [48, 6, 9, 21, 1]

square_all = map(lambda num: num ** 2, nums)

print(square_all)
<map object at 0x103e065c0>

L’affichage de square_all montre qu’il s’agit d’un objet map. Pour voir le résultat, on le convertit en liste avec list puis on l’affiche.

print(list(square_all))
[2304, 36, 81, 441, 1]

Exemple interactif d’écriture d’une fonction lambda

La fonction echo_word ci-dessous prend 2 paramètres : une chaîne de caractères, word1, et un entier echo. Elle renvoie une chaîne correspondant à la concaténation de echo copies de word1.

Vous allez convertir cette fonction simple en fonction lambda.

def echo_word(word1, echo):
    """Concatenate echo copies of word1."""
    words = word1 * echo
    return words

Dans l’exemple suivant, vous allez :

  • Définir une fonction lambda echo_word en utilisant les variables word1 et echo. Reproduisez le comportement de la définition originale de echo_word() ci-dessus.
  • Appeler echo_word() avec l’argument chaîne 'hey' puis la valeur 5, dans cet ordre. Affectez l’appel à result. Enfin, affichez la variable result.
# Define echo_word as a lambda function: echo_word
echo_word = (lambda word1, echo: word1 * echo)

# Call echo_word: result
result = echo_word('hey', 5)

# Print result
print(result)

Lorsque nous exécutons le code ci-dessus, il produit le résultat suivant :

heyheyheyheyhey

Essayez par vous-même.

Pour en savoir plus sur les fonctions lambda, regardez cette vidéo issue de notre cours Python Data Science Toolbox (Part 1).

Ce contenu est extrait du cours Python Data Science Toolbox (Part 1) de DataCamp, par Hugo Bowne-Anderson.

Découvrez aussi le tutoriel sur les fonctions Python de DataCamp.

Sujets
Python

En savoir plus sur Python

Cours

Introduction aux fonctions en Python

3 h
470.3K
Apprenez à écrire vos propres fonctions en Python tout en découvrant des notions essentielles comme la portée des variables et la gestion des erreurs.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow