Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonction Lambda | Fonction Comme Argument
Techniques Python Intermédiaires

book
Fonction Lambda

En Python, les fonctions lambda sont des fonctions anonymes définies à l'aide du mot-clé lambda. Elles sont souvent utilisées pour des fonctions courtes, à opération unique sans nom, et peuvent être passées en tant qu'arguments à d'autres fonctions, tout comme les fonctions régulières.

Voici un exemple démontrant comment passer une fonction lambda en tant qu'argument à une autre fonction :

# Define a function that takes a function and a value as arguments
def apply_function(func, value):
return func(value)

# Call the function with a lambda function as the first argument
result = apply_function(lambda x: x * x, 5)

print(result)
12345678
# Define a function that takes a function and a value as arguments def apply_function(func, value): return func(value) # Call the function with a lambda function as the first argument result = apply_function(lambda x: x * x, 5) print(result)
copy
  • apply_function est une fonction qui accepte une autre fonction (func) et une valeur (value), puis applique func à value.
  • Une fonction lambda lambda x: x * x est définie en ligne et passée comme argument à apply_function. Cette fonction lambda élève au carré son entrée.
  • La apply_function est appelée avec la fonction lambda et la valeur 5, ce qui entraîne l'élévation au carré de 5 par la fonction lambda, ce qui donne 25.
Tâche

Swipe to start coding

Supposons que vous ayez une liste de nombres, et que vous souhaitiez appliquer différentes opérations à la même liste, comme ajouter une valeur constante à chaque élément ou multiplier chaque élément par une constante.

  1. apply_to_list est notre fonction personnalisée qui applique une fonction donnée (func) à chaque élément de numbers.
  2. Nous appelons apply_to_list deux fois avec différentes fonctions lambda.
  3. La première fonction lambda (lambda x: x + 10) ajoute 10 à chaque élément.
  4. La deuxième fonction lambda (lambda x: x * 2) multiplie chaque élément par 2.

En fait, nous créons notre propre version de la fonction map.

Solution

def apply_to_list(numbers, func):
"""Applies the given function to each element in the numbers list."""
return [func(x) for x in numbers]

# List of numbers
numbers = [1, 2, 3, 4, 5]

# Using a lambda function to add 10 to each number
result_add = apply_to_list(numbers, lambda x: x + 10)
print("Adding 10:", result_add)

# Using a lambda function to multiply each number by 2
result_multiply = apply_to_list(numbers, lambda x: x * 2)
print("Multiplying by 2:", result_multiply)

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 2
def apply_to_list(numbers, func):
"""Applies the given function to each element in the numbers list."""
___ [___(x) for x in ___]

# List of numbers
numbers = [1, 2, 3, 4, 5]

# Using a lambda function to add 10 to each number
result_add = ___(___, lambda x: x + 10)
print("Adding 10:", ___)

# Using a lambda function to multiply each number by 2
result_multiply = ___(___, lambda x: x * 2)
print("Multiplying by 2:", ___)

toggle bottom row
some-alt