Python

Пітон Лямбда

Пітон Лямбда

У цій статті ми спробуємо дізнатись про Python Lambda.

Визначення

Лямбда - це функція, визначена без імені. Це може приймати кілька аргументів, але допускається лише один вираз, який обчислюється та повертається. Там, де потрібні об’єкти функції, ми можемо використовувати лямбда-функцію.

Синтаксис:
лямбда-аргументи: вираз

Приклад 1: Функція, наведена нижче, використовується для обчислення куба числа.

def cube (a):
повернути a * a * 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
друк (p (10, 5, 3))

Приклад 4: Ця функція помножує число на 2 і може бути записана за допомогою функції Лямбда, як показано нижче:

def func (n):
повернути лямбда x: x * n
multiply_by_2 = func (2)
друк (multiply_by_2 (11))
друк (multiply_by_2 (15))

Приклад 5: Функція приймає функцію як аргумент і повертає результат.

function_argument = лямбда 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: У наведеному нижче прикладі лямбда використовується для сортування значень.

# (ім'я, прізвище, вік)
дані = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
даних.сортування (ключ = лямбда x: x [0]) # сортування на основі імені
друк (дані)
дані = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
даних.сортування (ключ = лямбда x: x [1]) # сортування на основі прізвища
друк (дані)
дані = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
даних.сортування (ключ = лямбда x: x [2]) # сортування на основі віку
друк (дані)

Тепер перейдіть до інтерпретатора python3.

Лямбда-функція використовується у багатьох вбудованих методах. Нижче наведено кілька прикладів:

1. Карта

Ця функція послідовно відображає кожен елемент за допомогою лямбда-функції.

Синтаксис:
карта (функція, наступні)

Приклад:
nums = [1,2,3,4,5,6]
Тут ми помножимо кожен елемент у списку на 2.
mul_2 = карта (лямбда x: x * 2, числа)
print (list (mul_2)) # Повертає об'єкт карти та вводить його як список.

У наведеній вище функції кожен елемент списку передається лямбда-функції, і лямбда-функція помножить його на 2.

nums = [1,2,3,4,5,6]
mul_2 = карта (лямбда x: x * 2, числа)
друк (список (mul_2))

2. Фільтр

Ця функція відфільтровує всі елементи списку, для яких лямбда-функція повертає True.

Синтаксис:
фільтр (функція, наступні)

Приклад:
nums = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = фільтр (лямбда x: x% 2, nums)
print (list (odd_nums)) # Повертає об'єкт карти та вводить його як список.

nums = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = фільтр (лямбда x: x% 2, nums)
друк (список (непарні_номери))

3. Зменшити

Ця функція повертає одне значення, застосовуючи функцію func () до seq.

Синтаксис:
зменшити (func, seq)

Приклад:
nums = [0,1,2,3,4,5,6,7,8,9,10]
значення = зменшити (лямбда x, y: x + y, числа)
друк (значення)

У наведеному вище списку він бере перші 2 елементи та виконує додавання. Результат додавання буде додано до третього елемента тощо. Нарешті, він поверне єдине значення.

Примітка: Цей метод недоступний у версії python3 +.

nums = [0,1,2,3,4,5,6,7,8,9,10]
значення = зменшити (лямбда x, y: x + y, числа)
друк (значення)

Висновок

З цієї статті ми дізналися багато аспектів лямбда-функції. Залежно від того, що потрібно програмі, ми можемо використовувати її та покращувати кодування на python. Це найчастіше використовується для передачі аргументів іншій функції (наприклад, ми бачили вище, функція відображає, фільтрує та зменшує).

Корисні інструменти для геймерів Linux
Якщо ви любите грати в ігри на Linux, швидше за все, ви, можливо, використовували додатки та утиліти, такі як Wine, Lutris та OBS Studio, щоб покращит...
HD Remastered Games для Linux, які раніше ніколи не випускали Linux
Багато розробників і видавців ігор випускають HD-ремастер старих ігор, щоб продовжити життя франшизи. Будь ласка, шанувальники просять сумісність із с...
Як використовувати AutoKey для автоматизації ігор Linux
AutoKey - це утиліта автоматизації робочого столу для Linux та X11, запрограмована на Python 3, GTK та Qt. Використовуючи його сценарії та функціональ...