Co to jest funkcja lambda w Pythonie?

Funkcje lambda w Pythonie to krótkie, anonimowe funkcje zapisywane w jednej linii. Są one często wykorzystywane do wykonywania prostych operacji, filtracji danych, a także przy mapowaniu i redukcji kolekcji. Cechą charakterystyczną funkcji lambda jest ich anonimowość, co oznacza, że nie muszą być one przypisywane do zmiennej w momencie definiowania. Zastosowanie funkcji lambda sprawdza się w wielu przypadkach, szczególnie kiedy potrzebujemy krótkiej funkcji do użycia raz, bez konieczności definiowania standardowej funkcji za pomocą słowa kluczowego def.

Przykład zastosowania funkcji lambda

Poniżej znajduje się przykład kodu, który ilustruje użycie funkcji lambda w Pythonie. W tym przykładzie zastosujemy funkcję lambda do posortowania listy słowników według wieku osoby.

# Definiujemy listę słowników, gdzie każdy słownik zawiera
# imię oraz wiek osoby
people = [
    {"name": "Anna", "age": 24},
    {"name": "Bartek", "age": 30},
    {"name": "Czesław", "age": 22},
    {"name": "Dorota", "age": 27}
]

# Używamy funkcji lambda jako klucza sortowania
# Lista zostanie posortowana według wieku osoby
sorted_people = sorted(people, key=lambda person: person["age"])

# Wyświetlamy posortowaną listę
for person in sorted_people:
    print(person["name"], "ma", person["age"], "lat")

W tym przykładzie, funkcja lambda lambda person: person["age"] jest używana jako klucz do sortowania listy słowników people. Dzięki temu każdy element listy jest przekazywany jako argument person do funkcji lambda, która zwraca wiek osoby. W rezultacie lista jest sortowana według wieku osób w kolejności rosnącej.

Podsumowanie

Funkcje lambda w Pythonie to potężne narzędzie umożliwiające tworzenie anonimowych, krótkich funkcji. Są one szczególnie przydatne, kiedy potrzebujemy szybkiej funkcji do wykonania operacji na danych bez definiowania tradycyjnej funkcji. Ich elastyczność i zwięzłość sprawiają, że są chętnie wykorzystywane w wielu sytuacjach programistycznych, począwszy od sortowania, przez filtrację, aż po transformację danych.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top