В Python, Lambda
Ключевое слово используется для определения анонимной (то есть безымянной) функции, используя следующий синтаксис:
lambda parameters: expression
Предположим, что у нас есть следующий список фруктов:
fruits = ['apple', 'orange', 'grape', 'lemon', 'mango', 'banana']
Теперь представьте, что нам нужно отфильтровать наш список, чтобы напечатать только имена фруктов, которые имеют длину 5 символов. Мы мог Сделайте это, определив именованную функцию для тестирования длины слов, а затем передавая ее (и наш список фруктов) в Filter ()
:
def five_letter_words(word): if len(word) == 5: return True five_letter_fruits = filter(five_letter_words, fruits) for fruit in five_letter_fruits: print(fruit)
apple grape lemon mango >>>
Или та же задача может быть выполнена непосредственно в Filter ()
используя Lambda
выражение, без необходимости определения отдельной именованной функции:
five_letter_fruits = filter(lambda word: len(word) == 5, fruits) for fruit in five_letter_fruits: print(fruit)
apple grape lemon mango >>>
Поскольку функции Lambda являются выражением Python, их можно назначить на переменные.
Так , это:
add_two = lambda x, y: x+y add_two(3, 5)
Эквивалентно этому:
def add_two(x, y): return x + y add_two(3, 5)
Оригинал: “https://dev.to/adamlombard/python-what-is-a-lambda-function-3m98”