Utiliser les fonctions Lambda avec la boucle for en Python

Isaac Tony 23 janvier 2022
Utiliser les fonctions Lambda avec la boucle for en Python

Les fonctions lambda ou fonctions anonymes sont des fonctions Python sans nom. Ces fonctions sont créées à l’aide du mot-clé lambda par opposition au mot-clé def qui est traditionnellement utilisé pour définir des fonctions normales en Python.

Les fonctions lambda sont non seulement plus petites que les fonctions normales, mais elles présentent également plusieurs différences. Le plus important est l’absence d’une instruction return explicitement définie et la restriction à une seule expression.

Néanmoins, les fonctions lambda acceptent plusieurs arguments, tout comme les fonctions Python normales.

En Python, les fonctions Lambda peuvent être implémentées comme indiqué ci-dessous.

lambda arguments: expressions:

Les fonctions lambda sont utilisées lorsqu’il est nécessaire de créer un objet fonction utilisé comme argument dans une autre fonction.

La puissance de Lambda est particulièrement évidente lorsqu’elle est utilisée avec des fonctions d’ordre supérieur telles que map(). Ces fonctions acceptent d’autres objets de fonction comme arguments.

De plus, les fonctions lambda peuvent également être utilisées pour effectuer des opérations qui nécessitent des fonctions anonymes uniquement pendant une courte période. Un bon exemple de ceci serait l’utilisation de fonctions lambda avec une boucle for pour effectuer une certaine opération sur tous les éléments d’un itérable.

Le programme ci-dessous illustre comment nous pouvons utiliser une boucle for pour parcourir une liste de nombres, et une fonction lambda est utilisée comme incrémenteur dans ce cas.

nums1 = [45, 46, 47, 48, 50]
nums2 = []

for i in nums1:

    def x(i):
        return i + 1

    nums2.append(x(i))
print(nums2)

Production :

[46, 47, 48, 49, 51]

Les boucles for peuvent être utilisées pour itérer sur d’autres séquences telles que des tuples, des chaînes, des dictionnaires et des ensembles. Bien que les fonctions lambda ne puissent avoir qu’une seule expression, il n’y a aucune restriction sur les types de données qui peuvent être utilisés.

L’exemple ci-dessous illustre comment nous pouvons parcourir une liste de chaînes à l’aide d’une boucle for et d’une fonction lambda.

fruits = ["mango", "apple", "melon", "pineapple"]
fruits_upper = []

for fruit in fruits:

    def x(fruit):
        return fruit.upper()

    fruits_upper.append(x(fruit))
print(fruits_upper)

Production :

['MANGO', 'APPLE', 'MELON', 'PINEAPPLE']

La fonction Lambda peut être utilisée avec une boucle for pour créer une liste d’objets lambda. En utilisant ces objets, nous pouvons effectuer des actions sur les éléments d’un itérable à l’aide d’une boucle for.

Ceci est bénéfique, en particulier lorsque l’intention est d’itérer sur un objet itérable tout en apportant des modifications simultanément sans obtenir une erreur d’exécution.

list = [1, 2, 3, 4, 5]


def add_two(x):
    return lambda: x + 2


list = [add_two(i) for i in list]

for element in list:
    print(element())

Production :

3
4
5
6
7
Auteur: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

Article connexe - Python Lambda Function

Article connexe - Python Loop