Reduce() e funzioni lambda
Stai diventando molto bravo a usare le funzioni lambda! Ecco un'altra funzione da aggiungere al tuo repertorio di abilità. La funzione reduce() è utile per eseguire alcuni calcoli su una lista e, a differenza di map() e filter(), restituisce un singolo valore come risultato. Per utilizzare reduce(), devi importarlo dal modulo functools.
Ricordi il sito gibberish() di qualche esercizio fa?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
gibberish() accetta semplicemente un elenco di stringhe come argomento e restituisce, come risultato a valore singolo, la concatenazione di tutte queste stringhe. In questo esercizio replicherai questa funzionalità utilizzando reduce() e una funzione lambda che concatena le stringhe.
Questo esercizio fa parte del corso
Introduzione alle funzioni in Python
Istruzioni dell'esercizio
- Importa la funzione
reducedal modulofunctools. - Nella chiamata a
reduce(), passa una funzione lambda che prende due argomenti stringaitem1eitem2e li concatena; passa anche l'elenco di stringhe,stark. Assegna il risultato aresult. Il primo argomento direduce()deve essere la funzione lambda e il secondo argomento è l'elencostark.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)