Выражения лямбда в Python лучше всего описываются как Одноэтажные анонимные функции Отказ Что я имею в виду под этим, можно объяснить быстрым примером.
[1,2,3,4,5]
У меня есть этот список номеров, которые я хочу квадрат (умножить сам по себе). Я мог бы создать функцию, как так.
def square(number): return number*number
Это работает нормально, но что, если вам нужно только сделать это один раз? Было бы немного громоздким иметь функцию, посвященную этой симпатичной задаче. Мы можем использовать лямбда экспресс для этого вместо этого.
lambda number: number*number
Таким образом, вы можете увидеть, что происходит, ссылаясь на вышеуказанную функцию рядом с нашим выражением лямбда. Мы объявляем лямбда
Таким образом, переводчик знает, что это лямбда экспресс. Первый элемент – это параметр, который заменяет Номер
Аргумент в квадрат ()
функция. Далее – фактический результат выражения, Номер * Номер
Отказ
Вот пример, используя карта ()
Чтобы получить квадратный результат каждого номера в нашем списке.
list(map(lambda number: number*number, numbers)) > [1,4,9,16,25]
Я надеюсь, что это хороший пример, чтобы помочь вам понять лямбда выражения, чтобы избежать огромных страниц одноразовых функций!
Оригинал: “https://dev.to/codespent/what-are-lambda-expressions-in-python-b4n”