Funkcje lambda, znane również jako funkcje anonimowe, pozwalają na tworzenie małych, jednorazowych funkcji bez konieczności formalnego definiowania ich za pomocą słowa kluczowego "def".
Kluczowe aspekty funkcji lambda:
Składnia
Podstawowa składnia funkcji lambda wygląda następująco:
lambda argumenty: wyrażenie
Zastosowania
1. Jako argumenty funkcji wyższego rzędu:
Funkcje lambda są często używane z funkcjami takimi jak map(), filter(), czy reduce().
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
2. W wyrażeniach warunkowych:
max_value = lambda a, b: a if a > b else b
3. Jako funkcje tymczasowe:
sort_by_second = lambda x: x[1]
pair_list = [(1, 2), (3, 1), (4, 4)]
sorted_list = sorted(pair_list, key=sort_by_second)
Zalety i ograniczenia
Funkcje lambda są zwięzłe i wygodne, ale mają swoje ograniczenia. Nie mogą zawierać wielu wyrażeń ani instrukcji złożonych. Dla bardziej skomplikowanych funkcji lepiej używać tradycyjnej definicji funkcji.
Podsumowując, funkcje lambda są idealnym narzędziem do tworzenia krótkich, jednorazowych funkcji, które można łatwo zrozumieć i zastosować w kodzie.