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
Övningsinstruktioner
- Importera funktionen
reducefrån modulenfunctools. - I anropet till
reduce()skickar du en lambdafunktion som tar två strängargument,item1ochitem2, och sammanfogar dem. Skicka även in stränglistanstark. Tilldela resultatet tillresult. Det första argumentet tillreduce()ska vara lambdafunktionen och det andra argumentet ska vara listanstark.
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)