Лямбда-функции
1. Что такое лямбда-функция
Лямбда-функция — это анонимная функция, которую можно написать в одну строку.
Используется для простых операций, когда не хочется создавать полноценную функцию через
def
.
Синтаксис
lambda аргументы: выражение
аргументы — входные параметры
выражение — возвращаемое значение (всегда одно выражение)
2. Примеры
2.1 Простая лямбда
add = lambda x, y: x + y
print(add(5, 3)) # 8
2.2 Использование в map
map
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
print(squared) # [1, 4, 9, 16]
2.3 Использование в filter
filter
numbers = [1, 2, 3, 4, 5]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even) # [2, 4]
2.4 Использование в sorted
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?