В этой статье мы постараемся узнать о Python Lambda.
Определение
Лямбда - это функция, определенная без имени. Это может принимать несколько аргументов, но разрешено только одно выражение, которое оценивается и возвращается. Если требуются функциональные объекты, мы можем использовать лямбда-функцию.
Синтаксис:
лямбда-аргументы: выражение
Пример 1: Приведенная ниже функция используется для вычисления куба числа.
def cube (a):вернуть а * а * а
печать (куб (3))
Вышеупомянутая функция может быть написана с использованием лямбда, как показано ниже:
p = лямбда x: x * x * xпечать (p (3))
Пример 2: Приведенная ниже функция используется для вычисления суммы двух чисел.
def sum_2 (x, y):вернуть x + y
печать (сумма_2 (10,20))
Вышеупомянутая функция может быть написана с использованием лямбда, как показано ниже:
p = лямбда x, y: x + yпечать (p (10,20))
Пример 3: В приведенном ниже примере лямбда-выражения используется несколько аргументов.
p = лямбда x, y, z: x + y + zпечать (п (10, 5, 3))
Пример 4: Эта функция умножает число на 2 и может быть записана с использованием лямбда-функции, как показано ниже:
def func (n):вернуть лямбда x: x * n
multiply_by_2 = функция (2)
печать (умножить_на_2 (11))
печать (умножить_би_2 (15))
Пример 5: Функция принимает функцию в качестве аргумента и возвращает результат.
аргумент_функции = лямбда p, f: p + f (p)print (аргумент_функции (5, лямбда p: p * p))
print (аргумент_функции (10, лямбда x: x - 3))
print (аргумент_функции (10, лямбда x: x + 5))
print (аргумент_функции (10, лямбда x: x / 5))
Пример 6: В приведенном ниже примере лямбда используется для сортировки значений.
# (имя, фамилия, возраст)data = [("Сачин", "Тендулкар", "42"), ("Рахул", "Дравид", "44"), ("Вирендра", "Сехваг", "40")]
данные.sort (key = lambda x: x [0]) # сортировать по имени
печать (данные)
data = [("Сачин", "Тендулкар", "42"), ("Рахул", "Дравид", "44"), ("Вирендра", "Сехваг", "40")]
данные.sort (key = lambda x: x [1]) # сортировать по фамилии
печать (данные)
data = [("Сачин", "Тендулкар", "42"), ("Рахул", "Дравид", "44"), ("Вирендра", "Сехваг", "40")]
данные.sort (key = lambda x: x [2]) # сортировать по возрасту
печать (данные)
Теперь войдите в интерпретатор python3.
Лямбда-функция используется во многих встроенных методах. Вот несколько примеров:
1. карта
Эта функция последовательно отображает каждый элемент с помощью лямбда-функции.
Синтаксис:
карта (функция, последовательность)
Бывший:
число = [1,2,3,4,5,6]
Здесь мы умножим каждый элемент в списке на 2.
mul_2 = map (лямбда x: x * 2, числа)
print (list (mul_2)) # Возвращает объект карты и приводит его как список.
В приведенной выше функции каждый элемент списка передается лямбда-функции, и лямбда-функция умножает его на 2.
число = [1,2,3,4,5,6]mul_2 = map (лямбда x: x * 2, числа)
печать (список (mul_2))
2. Фильтр
Эта функция отфильтровывает все элементы списка, для которых лямбда-функция возвращает True.
Синтаксис:
фильтр (функция, последовательность)
Бывший:
число = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = фильтр (лямбда x: x% 2, числа)
print (list (odd_nums)) # Возвращает объект карты и приводит его как список.
odd_nums = фильтр (лямбда x: x% 2, числа)
печать (список (odd_nums))
3. Уменьшать
Эта функция возвращает одно значение, применяя функцию func () к seq.
Синтаксис:
уменьшить (функция, последовательность)
Бывший:
число = [0,1,2,3,4,5,6,7,8,9,10]
значение = уменьшить (лямбда x, y: x + y, числа)
печать (значение)
В приведенном выше списке он возьмет первые 2 элемента и выполнит сложение. Результат добавления будет добавлен к третьему элементу и т. Д. Наконец, он вернет одно значение.
Примечание: этот метод недоступен в версии python3 +.
число = [0,1,2,3,4,5,6,7,8,9,10]значение = уменьшить (лямбда x, y: x + y, числа)
печать (значение)
Заключение
Из этой статьи мы узнали многие аспекты лямбда-функции. В зависимости от того, что нужно программе, мы можем использовать ее и улучшить кодирование на Python. Это чаще всего используется для передачи аргументов другой функции (например, мы видели выше функции map, filter и reduce).