lambda
Krótka funkcja anonimowa zapisana w jednym wyrażeniu.
Przykład
#Python
students = [("Ania", 92), ("Kuba", 78), ("Ola", 85)]
by_score = sorted(students, key=lambda student: student[1], reverse=True)
print(by_score)
names = list(map(lambda s: s[0].upper(), students))
print(names)Wynikzapisany wynik, możesz go sprawdzić
[('Ania', 92), ('Ola', 85), ('Kuba', 78)]
['ANIA', 'KUBA', 'OLA']
Definicja i zastosowanie
#Wyrażenie lambda tworzy małą funkcję bez nazwy: lambda x: x * 2. Po dwukropku może stać tylko jedno wyrażenie, którego wynik zostaje zwrócony. Nie ma tam miejsca na instrukcje ani wiele linii.
Lambdy najczęściej przekazuje się jako argument do innych funkcji, na przykład jako klucz sortowania w sorted() albo funkcję w map() i filter().
Jeśli lambda robi się długa albo przypisujesz ją do zmiennej, lepiej zdefiniować zwykłą funkcję przez def. Będzie miała nazwę w komunikatach błędów i docstring.
Składnia
#Składnia
lambda parametry: wyrazenieDobre praktyki
#- Do prostych przekształceń list czytelniejsze od
mapz lambdą jest wyrażenie listowe. - Przy sortowaniu po polu możesz też użyć
operator.itemgetter(1)zamiast lambdy.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.