Найти в Дзене

Lambda-функции в Python: кратко, мощно, удобно

Привет! Сегодня поговорим о lambda-функциях в Python. Это компактный способ записи функций, который может сделать твой код чище и короче. 1. Что такое `lambda`?
Lambda-функция — это анонимная (без имени) функция, записанная в одну строку. Пример: обычная функция vs `lambda` 2. Lambda в `sorted()`, `map()`, `filter()`, `reduce()` Сортировка сложных структур данных Допустим, у нас есть список словарей с ценами: Быстрое преобразование с `map()` Допустим, у нас есть список чисел, и мы хотим их возвести в квадрат. Фильтрация данных с `filter()` Допустим, мы хотим оставить только четные числа. Агрегация данных с `reduce()` Допустим, мы хотим найти произведение всех чисел. 3. Lambda + тернарный оператор Lambda-функции можно комбинировать с тернарным оператором: 4. Лайфхаки с `lambda`
Lambda внутри `dict` (аналог switch-case) Lambda для извлечения уникальных значений Lambda + `zip()` для сложных вычислений 5. Когда `lambda` не нужна? Если функция сложная, лучше использовать def.
Ес

Привет! Сегодня поговорим о lambda-функциях в Python. Это компактный способ записи функций, который может сделать твой код чище и короче.

1. Что такое `lambda`?
Lambda-функция — это анонимная (без имени) функция, записанная в одну строку.

Пример: обычная функция vs `lambda`

lambda — это однострочный аналог def, но без имени.
lambda — это однострочный аналог def, но без имени.

2. Lambda в `sorted()`, `map()`, `filter()`, `reduce()`

Сортировка сложных структур данных Допустим, у нас есть список словарей с ценами:

Lambda позволяет сортировать по любому полю без создания отдельной функции!
Lambda позволяет сортировать по любому полю без создания отдельной функции!

Быстрое преобразование с `map()` Допустим, у нас есть список чисел, и мы хотим их возвести в квадрат.

map() применяет функцию к каждому элементу списка.
map() применяет функцию к каждому элементу списка.

Фильтрация данных с `filter()` Допустим, мы хотим оставить только четные числа.

filter() оставляет только элементы, которые удовлетворяют условию.
filter() оставляет только элементы, которые удовлетворяют условию.

Агрегация данных с `reduce()` Допустим, мы хотим найти произведение всех чисел.

reduce() сводит список к одному значению.
reduce() сводит список к одному значению.

3. Lambda + тернарный оператор

Lambda-функции можно комбинировать с тернарным оператором:

Короткий аналог `if-else` прямо в `lambda`!
Короткий аналог `if-else` прямо в `lambda`!

4. Лайфхаки с `lambda`
Lambda внутри `dict` (аналог switch-case)

Крутая замена `if-elif` для выбора операций!
Крутая замена `if-elif` для выбора операций!

Lambda для извлечения уникальных значений

Можно найти элементы, встречающиеся один раз.
Можно найти элементы, встречающиеся один раз.

Lambda + `zip()` для сложных вычислений

Отлично подходит для сложных расчетов с несколькими списками!
Отлично подходит для сложных расчетов с несколькими списками!

5. Когда `lambda` не нужна?

Если функция сложная, лучше использовать def.
Если
lambda ухудшает читаемость, выбери обычную функцию.

Lambda хороша для простых функций, но не для сложных!
Lambda хороша для простых функций, но не для сложных!

6. Заключение
Lambda делает код короче и удобнее.
Полезна в sorted(), map(), filter(), reduce().
Можно использовать в
словари, zip, тернарные операторы.
Не злоупотребляй:
если код сложный — пиши def!

А ты используешь lambda? Напиши в комментариях!
#python #lambda #лайфхаки #оптимизация