LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Funktion reduce aus dem Modul functools.
  • In dem reduce()-Aufruf übergibst du eine Lambda-Funktion, die die zwei String-Argumente item1 und item2 aufnimmt und sie miteinander verkettet; außerdem übergibst du die Liste der Strings stark. Weise das Ergebnis result zu. Das erste Argument von reduce() muss die Lambda-Funktion sein und das zweite Argument die Liste stark.

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)
Code bearbeiten und ausführen