Dlaczego funkcje lambda są przydatne w Pythonie?

Funkcje lambda w Pythonie, często określane jako anonimowe funkcje, są jedną z kluczowych funkcji języka, oferujących szybki i wygodny sposób na definiowanie małych, jednolinijkowych funkcji. W tym artykule przyjrzymy się, dlaczego funkcje lambda są tak przydatne, zwłaszcza w operacjach na listach, filtracji danych i aplikacjach funkcji wyższego rzędu.

Kompletny przykład kodu z użyciem funkcji lambda

Załóżmy, że mamy listę słowników reprezentujących książki, gdzie każdy słownik zawiera tytuł książki i jej rok wydania. Naszym zadaniem jest filtrowanie tej listy, aby uzyskać tylko te książki, które zostały wydane po roku 2000, a następnie posortowanie ich według roku wydania w porządku rosnącym. Pokażemy, jak to zrobić, wykorzystując funkcje lambda.

# Definicja listy książek
books = [
    {"title": "Python Programming", "year": 2015},
    {"title": "Learn Java", "year": 1999},
    {"title": "Web Development with Django", "year": 2020},
    {"title": "C++ for Beginners", "year": 1998}
]

# Filtrowanie książek wydanych po roku 2000
books_after_2000 = list(filter(lambda book: book["year"] > 2000, books))
# Wykorzystujemy funkcję lambda w filter do sprawdzenia,
# czy rok wydania książki jest większy niż 2000

# Sortowanie przefiltrowanych książek według roku wydania
sorted_books = sorted(books_after_2000, key=lambda book: book["year"])
# Wykorzystujemy funkcję lambda w sorted jako klucz sortowania

# Wyświetlenie posortowanych książek
for book in sorted_books:
    print(f"{book['title']} - {book['year']}")

W powyższym przykładzie użyliśmy funkcji lambda dwukrotnie: raz w funkcji filter() do filtrowania listy książek i raz w funkcji sorted() do sortowania listy według roku wydania. Dzięki temu kod jest krótki, czytelny i skoncentrowany na wykonaniu konkretnego zadania bez potrzeby definiowania dodatkowych funkcji.

Podsumowanie

Funkcje lambda w Pythonie są niezwykle przydatne ze względu na swoją zwięzłość i elastyczność. Pozwalają na szybkie tworzenie małych funkcji, które mogą być używane w miejscu, bez konieczności definiowania standardowej funkcji za pomocą słowa kluczowego def. Szczególnie sprawdzają się one w przypadkach, gdy potrzebujemy prostych operacji wykonywanych na danych, takich jak filtrowanie, sortowanie czy aplikowanie funkcji do elementów listy. Dzięki funkcjom lambda kod staje się bardziej pythoniczny, czyli bliższy idei i stylowi języka Python, co przekłada się na większą czytelność i efektywność pisanych programów.

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

Scroll to Top