IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la funzione reduce dal modulo functools.
  • Nella chiamata a reduce(), passa una funzione lambda che prende due argomenti stringa item1 e item2 e li concatena; passa anche l'elenco di stringhe, stark. Assegna il risultato a result. Il primo argomento di reduce() deve essere la funzione lambda e il secondo argomento è l'elenco stark.

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)
Modifica ed esegui il codice