Kom igångKom igång gratis

reduce() och lambdafunktioner

Du blir riktigt duktig på lambdafunktioner! Här är ytterligare en funktion att lägga till i din verktygslåda. Funktionen reduce() är användbar när du vill utföra en beräkning på en lista och – till skillnad från map() och filter() – returnerar den ett enda värde som resultat. För att använda reduce() måste du importera den från modulen functools.

Kommer du ihåg gibberish() från några övningar sedan?

# Define gibberish
def gibberish(*args):
    """Concatenate strings in *args together."""
    hodgepodge = ''
    for word in args:
        hodgepodge += word
    return hodgepodge

gibberish() tar helt enkelt en lista med strängar som argument och returnerar sammanslagningen av alla dessa strängar som ett enda värde. I den här övningen ska du återskapa den funktionaliteten med hjälp av reduce() och en lambdafunktion som sammanfogar strängar.

Den här övningen är en del av kursen

Introduktion till funktioner i Python

Visa kurs

Övningsinstruktioner

  • Importera funktionen reduce från modulen functools.
  • I anropet till reduce() skickar du en lambdafunktion som tar två strängargument, item1 och item2, och sammanfogar dem. Skicka även in stränglistan stark. Tilldela resultatet till result. Det första argumentet till reduce() ska vara lambdafunktionen och det andra argumentet ska vara listan stark.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod