TGViewer
Python академия Python академия @pythonofff · 7.14K subscribers
Post #3501 1.13K
⚡ Lambda: Функции-однострочники

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

Писать для этого полноценный def, придумывать имя и занимать 3 строки кода - лень и некрасиво. Тут на сцену выходят Lambda-функции (они же анонимные функции).

Синтаксис прост:
lambda аргументы: выражение

Сравните:


# Классический способ
def square(x):
return x ** 2

# Lambda-стиль
sq = lambda x: x ** 2



🔥 Где это реально нужно?
Чаще всего - внутри функций sorted(), min(), max(), map() или filter().

Пример из жизни:
У нас есть список студентов и их баллов. Нам нужно отсортировать их не по имени, а по баллам.


students = [
("Антон", 50),
("Вика", 90),
("Борис", 75)
]

# Сортируем по 2-му элементу кортежа (x[1])
sorted_students = sorted(students, key=lambda x: x[1])

print(sorted_students)
# [('Антон', 50), ('Борис', 75), ('Вика', 90)]



Внутри key= мы на лету создали функцию, которая принимает студента x и возвращает его балл x[1]. sorted использует это значение для сортировки.

🛑 Когда НЕ надо использовать Lambda:
Не присваивайте лямбды переменным, если планируете использовать их много раз.


# ❌ Плохо (нарушает PEP 8):
f = lambda x: x * 2

# ✅ Хорошо:
def f(x):
return x * 2



Лямбды созданы, чтобы быть "одноразовыми"!

Используете лямбды или предпочитаете старый добрый def? 👇

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
  • 👍 3
  • ❤ 1
More from @pythonofff
  1. Sep 24, 2026Анонимные функции Часто функции нужны только один раз, причем короткие. И избыточно создав…
  2. Sep 23, 2026Бесконечные списки Мы уже рассказывали про важность копирования списков. Но именно из-за т…
  3. Sep 21, 2026Заглушки Для создания пустых функций и классов есть сразу два способа соответствующих прав…
  4. Sep 20, 2026Параметры функции *args, **kwargs Думаю, многие хоть раз видели такую запись, сейчас мы уз…
  5. Sep 18, 2026В одну строчку Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, ма…
  6. Sep 16, 2026Распаковка Неудобно каждый раз для вывода объединять строки через join() или тем более как…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →