Menu
Coddy logo textTech

Die Map-Funktion

Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 72 von 78.

Die map()-Funktion nimmt zwei Hauptdinge entgegen:

  1. Eine Funktion (die Anweisungen enthält, was zu tun ist)
  2. Eine Sequenz von Elementen (wie eine Liste oder eine beliebige Sammlung von Elementen)

Es wendet diese Funktion dann nacheinander auf jedes Element in Ihrer Sequenz an und gibt Ihnen alle Ergebnisse zurück.

Zum Beispiel:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # Dies ist nur eine Liste von Zahlen
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Ausgabe: [1, 4, 9, 16, 25]

Was hier passiert ist:

  • Wir haben eine Liste von Zahlen: [1, 2, 3, 4, 5]
  • Die map()-Funktion nimmt jede Zahl einzeln nacheinander an
  • Sie übergibt jede Zahl an unsere square-Funktion
  • Sie sammelt alle Ergebnisse in der richtigen Reihenfolge

Man kann es sich wie ein Fließband vorstellen:

  1. Zahl 1 geht hinein → Quadratfunktion macht daraus 1
  2. Zahl 2 geht hinein → Quadratfunktion macht daraus 4
  3. Zahl 3 geht hinein → Quadratfunktion macht daraus 9 Und so weiter...

Sie können auch eine Lambda-Funktion verwenden, anstatt eine separate Funktion zu definieren:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Ausgabe: [1, 4, 9, 16, 25]

Die map()-Funktion arbeitet mit jeder Sammlung von Elementen – nicht nur mit Zahlen. Es könnten Strings oder jede andere Art von Daten sein, die Sie auf die gleiche Weise verarbeiten möchten.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Funktion namens convert_to_uppercase, die eine Liste von Zeichenfolgen strings als Argument entgegennimmt. Die Funktion sollte die map()-Funktion zusammen mit einer Lambda-Funktion verwenden, um jede Zeichenfolge in der Liste in Großbuchstaben umzuwandeln. Die Funktion sollte eine Liste zurückgeben, die die in Großbuchstaben umgewandelten Zeichenfolgen enthält.

Spickzettel

Die map()-Funktion wendet eine Funktion auf jedes Element in einer Sequenz an und gibt die Ergebnisse zurück:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Ausgabe: [1, 4, 9, 16, 25]

Sie können auch Lambda-Funktionen mit map() verwenden:

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Ausgabe: [1, 4, 9, 16, 25]

Die map()-Funktion funktioniert mit jeder Art von Daten, nicht nur mit Zahlen.

Probier es selbst

def convert_to_uppercase(strings):
    # Verwende map() mit einer Lambda-Funktion, um Strings in Großbuchstaben umzuwandeln
    uppercase_strings = 
    
    # Gib die Liste der großgeschriebenen Strings zurück
    return list(uppercase_strings)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logic & Flow