Aan de slagGa gratis aan de slag

Reduce() en lambda-functies

Je wordt al heel goed in het gebruiken van lambda-functies! Hier is nog een functie om aan je arsenaal toe te voegen. De functie reduce() is handig om een bewerking uit te voeren op een lijst en geeft, in tegenstelling tot map() en filter(), één enkele waarde terug als resultaat. Om reduce() te gebruiken, moet je het importeren uit de module functools.

Weet je gibberish() nog van een paar oefeningen geleden?

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

gibberish() neemt simpelweg een lijst met strings als argument en geeft als enkelvoudig resultaat de concatenatie van al deze strings terug. In deze oefening ga je die functionaliteit nabootsen met reduce() en een lambda-functie die strings aan elkaar plakt.

Deze oefening maakt deel uit van de cursus

Introductie tot functies in Python

Cursus bekijken

Oefeninstructies

  • Importeer de functie reduce uit de module functools.
  • Geef in de aanroep van reduce() een lambda-functie door die twee stringargumenten item1 en item2 neemt en ze concateneert; geef ook de lijst met strings stark door. Wijs het resultaat toe aan result. Het eerste argument van reduce() moet de lambda-functie zijn en het tweede argument is de lijst stark.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren