Перейти к основному содержимому

Считайте лямбда-функцию небольшой функцией без имени.

Она может принимать сколько угодно аргументов, но её тело ограничено одним выражением.


Синтаксис

Python вычисляет выражение и возвращает результат.

Пример

Верните аргумент a плюс 10:

Prompt
Напишите программу на Python, которая создаёт лямбда-функцию, прибавляющую 10 к своему аргументу. Вызовите лямбда-функцию со значением 5 и выведите результат.
Вывод: полная программа на Python

Пример

Верните произведение аргументов a и b:

Prompt
Напишите программу на Python, которая создаёт лямбда-функцию, перемножающую два аргумента. Вызовите лямбда-функцию с 5 и 6 и выведите результат.
Вывод: полная программа на Python

Пример

Верните сумму аргументов a, b и c:

Prompt
Напишите программу на Python, которая создаёт лямбда-функцию, складывающую три аргумента. Вызовите лямбда-функцию с 5, 6 и 2 и выведите результат.
Вывод: полная программа на Python
main.py
lambda arguments : expression

Зачем использовать лямбда-функции?

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

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

Пример

Prompt
Напишите программу на Python, которая определяет функцию myfunc(n), возвращающую лямбда-функцию, которая умножает свой аргумент на n. С помощью myfunc создайте функцию удвоения (n=2), затем выведите результат её вызова с 11.
Вывод: полная программа на Python

Пример

Prompt
Напишите программу на Python, которая определяет функцию myfunc(n), возвращающую лямбда-функцию, которая умножает свой аргумент на n. С помощью myfunc создайте функцию утроения (n=3), затем выведите результат её вызова с 11.
Вывод: полная программа на Python

Пример

Prompt
Напишите программу на Python, которая определяет функцию myfunc(n), возвращающую лямбда-функцию, которая умножает свой аргумент на n. Создайте функцию удвоения (n=2) и функцию утроения (n=3), затем выведите результаты вызова каждой из них с 11.
Вывод: полная программа на Python

Лямбда-функции со встроенными функциями

Вы часто будете видеть лямбда-функции, передаваемые во встроенные функции, такие как map(), filter() и sorted().

Пример

Умножьте каждое число в списке на два:

Prompt
Напишите программу на Python, которая использует map() с лямбда-функцией, чтобы удвоить все числа в списке [1, 2, 3, 4, 5]. Выведите полученный список.
Вывод: полная программа на Python

Пример

Оставьте в списке только нечётные числа:

Prompt
Напишите программу на Python, которая использует filter() с лямбда-функцией, чтобы получить все нечётные числа из [1, 2, 3, 4, 5, 6, 7, 8]. Выведите полученный список.
Вывод: полная программа на Python

Пример

Упорядочьте список кортежей по второму элементу:

Prompt
Напишите программу на Python, которая сортирует список кортежей [("Emil", 25), ("Tobias", 22), ("Linus", 28)] по второму элементу с помощью sorted() с лямбда-функцией в качестве key. Выведите отсортированный список.
Вывод: полная программа на Python

Пример

Упорядочьте строки от самой короткой к самой длинной:

Prompt
Напишите программу на Python, которая сортирует список ["apple", "pie", "banana", "cherry"] по длине строк с помощью sorted() с лямбда-функцией в качестве key. Выведите отсортированный список.
Вывод: полная программа на Python