Функція Python Lambda (Anonymous)

У цій статті ви дізнаєтеся про анонімну функцію, також відому як лямбда-функції. Ви дізнаєтесь, що вони собою являють, їх синтаксис та як ними користуватися (на прикладах).

Що таке лямбда-функції в 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)

Цікаві статті...