Python

Как использовать лямбда-функции в Python

Как использовать лямбда-функции в Python
В этой статье объясняется, как использовать лямбда-функции в Python. Лямбда-функции можно использовать для написания кратких однострочных строк, реализации логики и быстрого получения возвращаемых значений, которые могут быть переданы в другие выражения.

О лямбда-функциях

Лямбда-функции в Python - это безымянные и анонимные функции, которые можно использовать для создания выражений, возвращающих какое-то значение на основе вычислений, реализованных в самом выражении. Логика в этих лямбда-функциях может быть написана кратко, обычно это легко умещается в одной строке. Иногда их трудно читать, особенно если люди плохо разбираются в лямбда-функциях. Однако у них есть преимущество, заключающееся в том, что все вместе в блоках кода, и они помогают лучше понять контекст.

Синтаксис лямбда-функций

Синтаксис лямбда-функции в Python выглядит так:

умножить = лямбда x, y: x * y

Первая часть лямбда-выражения, непосредственно перед символом двоеточия (:), принимает параметры в качестве аргументов. Вторая часть после символа двоеточия должна быть возвращаемым значением. Это возвращаемое значение также может быть выражением с логикой. Фактически, лямбда-функции используются почти все время для реализации некоторой логики для предоставленных аргументов, а затем для возврата окончательного результата.

Чтобы проверить указанную выше лямбда-функцию, вы можете использовать следующий оператор:

печать (умножить (3, 4))

Вы должны получить следующий результат:

12

В противном случае та же лямбда-функция была бы записана следующим образом:

def multiply (x, y):
вернуть x * y
печать (умножить (3, 4))

Оба образца кода дадут одинаковый результат. Еще несколько примеров лямбда-функций объясняются ниже.

Передача лямбда-функций в качестве аргументов

Вы можете использовать лямбда-функции для выполнения вычислений и передачи возвращаемого значения в качестве аргументов другим функциям. Метод сортировки в Python принимает «ключевой» аргумент, в котором вы можете указать вызываемую функцию, которая принимает единственный аргумент для целей сортировки. Вместо того, чтобы сначала определять отдельную функцию, которая возвращает ключ, а затем указывать ссылку функции на аргумент, вы можете просто использовать лямбда-функцию.

фрукты = [(2, 'яблоки'), (4, 'апельсины'), (3, 'бананы')]
фрукты.sort (ключ = лямбда-элемент: элемент [0])
печать (фрукты)

Приведенный выше код даст следующий результат:

[(2, 'яблоки'), (3, 'бананы'), (4, 'апельсины')]

Вы можете использовать лямбда в любом таком методе, который принимает вызываемую функцию в качестве аргумента (например, метод фильтра).

Использование лямбда-функций в списках

Вы можете использовать Lambda в понимании списков, и список будет должным образом создан из значений, возвращаемых выражением Lambda.

get_square = лямбда а: а * а
квадраты = [get_square (x) для x в диапазоне (5)]
печать (квадраты)

Это даст следующий результат:

[0, 1, 4, 9, 16]

Приведенный выше пример кода также можно записать следующим образом, где «x» передается лямбда-функции в качестве аргумента:

квадраты = [(лямбда x: x * x) (x) для x в диапазоне (5)]
печать (квадраты)

Этот пример просто иллюстрирует использование лямбда-функций в понимании списков. В противном случае вы можете легко вычислить квадраты, используя минимальный оператор понимания списка:

print ([x * x для x в диапазоне (5)])

Использование лямбда-функций в словарях Python

В приведенном ниже примере кода показаны лямбда-функции, используемые в парах "ключ-значение" в словаре Python. После определения вы можете вызывать эти функции в любое время.

вычислить = 'сумма': лямбда a, b: a + b, 'разница': лямбда a, b: a - b
print (вычислить ['сумма'] (4, 5))
print (вычислить ['разницу'] (4, 5))

После выполнения приведенного выше кода вы должны получить следующий результат:

9
-1

Заключение

Лямбда-функции предоставляют отличный способ писать сокращенные выражения и поддерживать порядок и организованность без ненужного создания множества именованных функций. Однако чрезмерное использование лямбда-функций может затруднить чтение кода, особенно когда код просматривается более чем одним человеком. Лучше иметь более читаемый код (даже если он многословный), чем иметь что-то, что может быть немного сложно понять при повторных посещениях.

Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...
Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...