Лямбда-функция — это небольшая анонимная функция, которая может иметь только одно выражение.

Введение

lambda — анонимная и однострочная функция. Это помогает вам заменить простые функции одной строкой, достигнув простоты, которой больше всего гордится язык программирования Python.

Синтаксис:

лямбда аргументы: выражение

Аргументы — это переменные, которые вы передаете этой функции, а выражение — это логика, которую выполняет ваша функция.

Объяснение

e.g. 1

def example1(x):
  return x
lambda x : x

Давайте посмотрим на первый пример, мы можем знать, что эта функция называется example1, и она вернет переменную x, переданную пользователем.

lambda — анонимная функция, поэтому ее не нужно называть example1. Перед : находится переменная x, переданная пользователем, а после : — возвращаемое значение, потому что здесь нет математики, поэтому выражение заканчивается здесь.

e.g.2

def example2(x):
  if x > 10:
    return x
  else: 
    return 10
lambda x : x if x > 10 else 10

Второй пример должен почувствовать мощь лямбды. Когда исходный пятистрочный программный код написан на лямбда-выражении, нужна только одна строка.
Проанализируйте способ написания лямбда-выражения. Тот же пользователь передает переменную x и возвращает x, но с некоторыми вычислениями. Возвращает x, если x > 10, иначе возвращает 10.

Прямо сейчас вы должны быть знакомы с синтаксисом лямбда. Затем мы комбинируем некоторый синтаксис Python, чтобы написать более волшебные лямбда-функции.

e.g.3

def example3(x):
    y = []
    for i in x:
        y.append(i + 1)
    return y
lambda x: list(map(lambda i : i+1, x))

Используя карту вместо цикла for, одна строка кода может содержать логику for и сложения.

Упражнение

Теперь попробуйте изменить следующую функцию на лямбду.

def example4(x):
    if x % 2 == 0:
        return "even"
    else:
        return "odd"

Хорошего дня!