Reduce() et fonctions lambda
Vous devenez très à l'aise avec les fonctions lambda ! Voici une autre fonction à ajouter à votre boîte à outils. La fonction reduce() est utile pour effectuer un calcul sur une liste et, contrairement à map() et filter(), elle retourne une seule valeur en résultat. Pour utiliser reduce(), vous devez l'importer du module functools.
Vous souvenez-vous de gibberish() dans un exercice précédent ?
# 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 en argument et retourne, comme 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.
Cette activité fait partie du cours
Introduction aux fonctions en Python
Instructions de l’exercice
- Importez la fonction
reducedu modulefunctools. - Dans l'appel à
reduce(), passez une fonction lambda qui prend deux arguments chaîne de caractèresitem1etitem2et les concatène; passez aussi la liste de chaînesstark. Assignez le résultat àresult. Le premier argument dereduce()doit être la fonction lambda et le deuxième argument est la listestark.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)