1. Apprendre
  2. /
  3. Cours
  4. /
  5. Introduction aux fonctions en Python

Connected

Exercice

Map() et fonctions lambda

Jusqu'ici, vous avez utilisé des fonctions lambda pour écrire de petites fonctions simples et pour redéfinir des fonctions à logique élémentaire. Le meilleur cas d'utilisation des fonctions lambda, toutefois, c'est lorsque vous souhaitez intégrer ces petites logiques de façon anonyme dans des expressions plus complexes. Autrement dit, contrairement à une fonction définie avec def, cette logique n'est pas enregistrée dans l'environnement. Pour bien comprendre cette idée, vous utiliserez une fonction lambda avec la fonction map().

Rappelez-vous de la vidéo : map() applique une fonction à chaque élément d'un objet, par exemple une liste. Ici, vous pouvez utiliser des fonctions lambda pour définir la fonction que map() emploiera pour traiter l'objet. Par exemple :

nums = [2, 4, 6, 8, 10]

result = map(lambda a: a ** 2, nums)

Vous voyez ici qu'une fonction lambda, qui élève une valeur a à la puissance 2, est transmise à map() en même temps qu'une liste de nombres, nums. L'objet map résultant de l'appel à map() est stocké dans result. Vous allez maintenant vous exercer à utiliser des fonctions lambda avec map(). Dans cet exercice, vous appliquerez, via map(), la logique de la fonction add_bangs() que vous avez définie dans des exercices précédents à une liste de chaînes de caractères.

Instructions

100 XP
  • Dans l'appel à map(), passez une fonction lambda qui concatène la chaîne '!!!' à une chaîne item; passez aussi la liste de chaînes, spells. Assignez l'objet map obtenu à shout_spells.
  • Convertissez shout_spells en liste et affichez cette liste.