Czym jest funkcja lambda w Python?

Funkcje lambda w Pythonie to krótkie, anonimowe funkcje zapisywane w jednej linii. Są one często stosowane do wykonywania prostych operacji, gdy potrzebna jest funkcja dla krótkotrwałego użycia bez definiowania formalnej funkcji za pomocą słowa kluczowego def. W tym artykule omówimy, jak działają funkcje lambda i jak mogą być używane w praktyce.

Przykład użycia funkcji lambda

Zacznijmy od rozbudowanego przykładu, w którym użyjemy funkcji lambda do sortowania listy słowników według różnych kluczy, a następnie zastosujemy ją do wykonywania operacji na elementach listy.

# Deklaracja listy słowników reprezentujących książki
books = [
    {"title": "Python Programming", "year": 2015},
    {"title": "Learning Python", "year": 2010},
    {"title": "Fluent Python", "year": 2018}
]

# Sortowanie listy książek według roku wydania
# za pomocą funkcji lambda jako klucza sortowania
books.sort(key=lambda book: book["year"])
print("Książki posortowane według roku wydania:")
for book in books:
    print(book["title"], book["year"])

# Użycie funkcji lambda do mapowania listy,
# w celu zwiększenia roku wydania każdej książki o 1
updated_years = list(map(lambda book: {"title": book["title"],
                                       "year": book["year"] + 1},
                         books))
print("\nKsiążki po aktualizacji roku wydania:")
for book in updated_years:
    print(book["title"], book["year"])

W powyższym kodzie wykorzystaliśmy funkcję lambda dwukrotnie:

  1. Do sortowania listy słowników według roku wydania. Lambda lambda book: book["year"] służy jako klucz sortowania.
  2. Do mapowania listy książek i zwiększania roku wydania każdej książki o 1. Tutaj lambda lambda book: {"title": book["title"], "year": book["year"] + 1} tworzy nowy słownik dla każdego elementu w liście.

Podsumowanie

Funkcje lambda są potężnym narzędziem w Pythonie, umożliwiającym pisanie czystego i wydajnego kodu dla krótkich operacji bez konieczności definiowania standardowych funkcji. Są szczególnie użyteczne w połączeniu z funkcjami takimi jak sort(), map(), filter(), gdzie wymagane są krótkie funkcje do wykonania operacji na elementach. Przykład ten pokazuje, jak można skutecznie wykorzystać funkcje lambda do manipulowania danymi w bardziej zwięzły i czytelny sposób.

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