У цій статті ви дізнаєтеся про анонімну функцію, також відому як лямбда-функції. Ви дізнаєтесь, що вони собою являють, їх синтаксис та як ними користуватися (на прикладах).
Що таке лямбда-функції в Python?
У Python анонімна функція - це функція, яка визначається без імені.
Хоча звичайні функції визначаються за допомогою def
ключового слова в Python, анонімні функції визначаються за допомогою lambda
ключового слова.
Отже, анонімні функції також називаються лямбда-функціями.
Як використовувати лямбда-функції в Python?
Лямбда-функція в python має такий синтаксис.
Синтаксис лямбда-функції у python
лямбда-аргументи: вираз
Лямбда-функції можуть мати будь-яку кількість аргументів, але лише один вираз. Вираз обчислюється та повертається. Лямбда-функції можна використовувати скрізь, де потрібні об’єкти функцій.
Приклад функції лямбда в python
Ось приклад лямбда-функції, яка подвоює вхідне значення.
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
Вихідні дані
10
У наведеній вище програмі lambda x: x * 2
функція лямбда. Тут x - аргумент і x * 2
вираз, який обчислюється та повертається.
Ця функція не має імені. Він повертає об’єкт функції, який присвоюється ідентифікатору double
. Тепер ми можемо називати це звичайною функцією. Заява
double = лямбда x: x * 2
майже те саме, що:
def double (x): повернення x * 2
Використання лямбда-функції у python
Ми використовуємо лямбда-функції, коли нам потрібна безіменна функція протягом короткого періоду часу.
У Python ми зазвичай використовуємо його як аргумент функції вищого порядку (функція, яка приймає інші функції як аргументи). Лямбда - функції використовуються поряд з вбудованими функціями , як filter()
, і map()
т.д.
Приклад використання з фільтром ()
filter()
Функція в Python приймає функцію і список в якості аргументів.
Функція викликається з усіма елементами у списку, і повертається новий список, який містить елементи, для яких функція оцінює True
.
Ось приклад використання filter()
функції для фільтрації лише парних чисел зі списку.
# Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)
Вихідні дані
(4, 6, 8, 12)
Приклад використання з map ()
map()
Функція в Python приймає функцію і список.
Функція викликається з усіма елементами у списку, і повертається новий список, який містить елементи, повернені цією функцією для кожного елемента.
Ось приклад використання map()
функції для подвоєння всіх елементів у списку.
# Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)
Вихідні дані
(2, 10, 8, 12, 16, 22, 6, 24)