Reduce() und Lambda-Funktionen
Du kannst schon sehr gut mit Lambda-Funktionen umgehen! Hier ist eine weitere Funktion, die du zu deinem Repertoire hinzufügen kannst. Die Funktion reduce() ist nützlich, um eine Berechnung mit einer Liste durchzuführen und gibt im Gegensatz zu map() und filter() einen einzelnen Wert als Ergebnis zurück. Um reduce() zu verwenden, musst du es aus dem Modul functools importieren.
Erinnerst du dich noch an gibberish() aus einer unserer Übungen?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
gibberish() nimmt einfach eine Liste von Strings als Argument entgegen und gibt als einwertiges Ergebnis die Verkettung all dieser Strings zurück. In dieser Übung wirst du diese Funktion mit reduce() und einer Lambda-Funktion, die Strings miteinander verkettet, nachbilden.
Diese Übung ist Teil des Kurses
Einführung in Funktionen in Python
Anleitung zur Übung
- Importiere die Funktion
reduceaus dem Modulfunctools. - In dem
reduce()-Aufruf übergibst du eine Lambda-Funktion, die die zwei String-Argumenteitem1unditem2aufnimmt und sie miteinander verkettet; außerdem übergibst du die Liste der Stringsstark. Weise das Ergebnisresultzu. Das erste Argument vonreduce()muss die Lambda-Funktion sein und das zweite Argument die Listestark.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)