Ein Lambda (auch anonyme Funktion oder Lambda-Ausdruck) ist eine Funktion ohne Namen, die direkt an der Stelle definiert wird, wo sie gebraucht wird. Sie eignet sich für kurze, einmalige Logik und ist ein Grundbaustein der funktionalen Programmierung — verfügbar in Python, JavaScript, Java, C#, Kotlin, Rust und vielen weiteren Sprachen.

Syntax im Vergleich

# Python
quadrat = lambda x: x * x
print(quadrat(7))          # 49

# JavaScript (Arrow Function)
const quadrat = x => x * x;
console.log(quadrat(7));   // 49

Im Gegensatz zu einer normalen Funktionsdefinition besitzt ein Lambda keine Namensbindung, keinen return-Block (der Ausdruck ist der Rückgabewert) und ist meist auf einen Ausdruck beschränkt.

Typische Einsatzgebiete

  • Als Callback: Kurze Logik direkt an sort, filter, map oder Event-Handler übergeben.
  • Einmalige Verwendung: Eine Hilfsfunktion, die nur an genau einer Stelle gebraucht wird.
  • Funktionale Verkettung: Transformationen von Listen/Datenströmen in einer Kette.
  • Konfiguration: Vergleichsfunktionen, Schlüssel-Funktionen (key= in Python, Comparator in Java).
# Python: Sortieren nach zweitem Element
paare = [(1, "z"), (2, "a"), (3, "m")]
paare.sort(key=lambda p: p[1])
print(paare)   # [(2, 'a'), (3, 'm'), (1, 'z')]

Wann Lambda, wann normale Funktion?

  • Lambda: für kurze, selbsterklärende Ausdrücke — mehrzeilige Logik gehört nicht hinein.
  • Normale Funktion: bei Wiederverwendung, komplexer Logik, Doku-Bedarf oder Rekursion (anonyme Funktionen können sich nicht selbst aufrufen).

Verwandte Grundlagen: Callback, Algorithmus, Python-Befehle.