CommencerCommencer gratuitement

Reduce() et les fonctions lambda

Vous commencez à bien maîtriser les fonctions lambda ! Voici une fonction supplémentaire à ajouter à votre répertoire de compétences. La fonction reduce() est utile pour effectuer un calcul sur une liste et, contrairement à map() et filter(), elle ne renvoie qu’une seule valeur comme résultat. Pour utiliser reduce(), vous devez l’importer à partir du module functools.

Vous vous souvenez de gibberish() lors des exercices précédents ?

# Define gibberish
def gibberish(*args):

    """Concatenate strings in *args together."""

    hodgepodge = ''

    for word in args:

        hodgepodge += word

    return hodgepodge

gibberish() prend simplement une liste de chaînes de caractères comme argument et renvoie, en tant que résultat à valeur unique, la concaténation de toutes ces chaînes. Dans cet exercice, vous allez reproduire cette fonctionnalité en utilisant reduce() et une fonction lambda qui concatène des chaînes de caractères.

Cet exercice fait partie du cours

Introduction aux fonctions en Python

Afficher le cours

Instructions

  • Importez la fonction reduce à partir du module functools.
  • Dans l’appel reduce(), passez une fonction lambda qui prend deux arguments de type chaîne item1 et item2 et les concatène ; passez également la liste de chaînes, stark. Affectez le résultat à result. Le premier argument de reduce() doit être la fonction lambda et le deuxième argument la liste stark.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import reduce from functools


# Create a list of strings: stark
stark = ['robb', 'sansa', 'arya', 'brandon', 'rickon']

# Use reduce() to apply a lambda function over stark: result
result = reduce(____, ____)

# Print the result
print(result)
Modifier et exécuter le code