Python

Python Lambda

Python Lambda

В тази статия ще се опитаме да научим за 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 и може да бъде записана с помощта на функцията Lambda, както е показано по-долу:

def func (n):
върнете ламбда x: x * n
multiply_by_2 = func (2)
печат (multiply_by_2 (11))
печат (multiply_by_2 (15))

Пример 5: Функцията приема функцията като аргумент и връща резултата.

аргумент_на функция = ламбда p, f: p + f (p)
печат (аргумент_на_функция (5, ламбда p: p * p))
печат (аргумент_на_функция (10, ламбда x: x - 3))
печат (аргумент_на_функция (10, ламбда x: x + 5))
печат (аргумент_на_функция (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. Карта

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

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

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

В горната функция всеки елемент от списъка се предава на ламбда функцията и ламбда функцията ще го умножи по 2.

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

2. Филтър

Тази функция филтрира всички елементи от списък, за които ламбда функцията връща True.

Синтаксис:
филтър (функция, sq)

Пример:
номера = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = филтър (ламбда x: x% 2, номера)
print (list (odd_nums)) # Връща обект на картата и го въвежда като списък.

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

3. Намалете

Тази функция връща единична стойност чрез прилагане на функция func () към sq.

Синтаксис:
намаляване (func, sq)

Пример:
номера = [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. Това се използва най-често за предаване на аргументи на друга функция (например, видяхме по-горе карти, функции, филтриране и намаляване).

Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...
Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...
5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...