LoslegenKostenlos loslegen

Map() und Lambda-Funktionen

Bisher hast du Lambda-Funktionen verwendet, um kurze, einfache Funktionen zu schreiben und um Funktionen mit einfacher Funktionalität neu zu definieren. Der beste Anwendungsfall für Lambda-Funktionen ist jedoch, wenn du diese einfachen Funktionalitäten anonym in größere Ausdrücke einbetten willst. Das bedeutet, dass die Funktionalität nicht in der Umgebung gespeichert wird, im Gegensatz zu einer mit def definierten Funktion. Um diese Idee besser zu verstehen, wirst du eine Lambda-Funktion im Zusammenhang mit der map()-Funktion verwenden.

Du weißt aus dem Video, dass map() eine Funktion auf ein Objekt, z. B. eine Liste, anwendet. Hier kannst du Lambda-Funktionen verwenden, um die Funktion zu definieren, die map() zur Verarbeitung des Objekts verwendet. Beispiel:

nums = [2, 4, 6, 8, 10]

result = map(lambda a: a ** 2, nums)

Du kannst hier sehen, dass eine Lambda-Funktion, die einen Wert a mit 2 potenziert, zusammen mit einer Liste von Zahlen, nums, an map() übergeben wird. Das Map-Objekt, das durch den Aufruf von map() entsteht, wird in result gespeichert. Du wirst nun die Verwendung von Lambda-Funktionen mit map() üben. In dieser Übung wirst du die Funktionalität der Funktion add_bangs(), die du in den vorherigen Übungen definiert hast, auf eine Liste von Strings übertragen.

Diese Übung ist Teil des Kurses

Einführung in Funktionen in Python

Kurs anzeigen

Anleitung zur Übung

  • In dem map()-Aufruf übergibst du eine Lambda-Funktion, die den String '!!!' mit einem String item verkettet; außerdem übergibst du die Liste der Strings, spells. Weise das resultierende Map-Objekt shout_spells zu.
  • Konvertiere shout_spells in eine Liste und gib die Liste aus.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Create a list of strings: spells
spells = ["protego", "accio", "expecto patronum", "legilimens"]

# Use map() to apply a lambda function over spells: shout_spells
____ = map(____, ____)

# Convert shout_spells to a list: shout_spells_list
____

# Print the result
print(shout_spells_list)
Code bearbeiten und ausführen