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:
- Do sortowania listy słowników według roku wydania. Lambda
lambda book: book["year"]
służy jako klucz sortowania. - 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.