Лямбда-функции

1. Что такое лямбда-функция

  • Лямбда-функция — это анонимная функция, которую можно написать в одну строку.

  • Используется для простых операций, когда не хочется создавать полноценную функцию через def.

Синтаксис

lambda аргументы: выражение
  • аргументы — входные параметры

  • выражение — возвращаемое значение (всегда одно выражение)


2. Примеры

2.1 Простая лямбда

add = lambda x, y: x + y
print(add(5, 3))  # 8

2.2 Использование в map

numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # [1, 4, 9, 16]

2.3 Использование в filter

numbers = [1, 2, 3, 4, 5]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)  # [2, 4]

2.4 Использование в sorted

data = [("Alice", 25), ("Bob", 20)]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # [('Bob', 20), ('Alice', 25)]

3. Отличие от обычной функции

Характеристика

Обычная функция (def)

Лямбда-функция

Имя

Может иметь имя

Обычно анонимная, можно присвоить переменной

Количество выражений

Может быть несколько

Только одно выражение

Синтаксис

Более длинный

Короткий, однострочный


4. Применение в автотестах

  • Быстро создавать функции для сортировки, фильтрации или проверки данных.

  • Использовать в параметризации тестов и генерации данных.

# Проверка, что все элементы списка четные
assert all(map(lambda x: x % 2 == 0, [2, 4, 6]))
  • Удобно при работе с key-функциями в Selenium или pandas:

elements = driver.find_elements_by_tag_name("li")
texts = list(map(lambda e: e.text, elements))

💡 Вывод:

  • Лямбда-функции = компактные одноразовые функции.

  • Идеальны для простых операций, фильтрации, сортировки и работы с коллекциями.

Last updated

Was this helpful?