lambda x, y: x + y
.
Лямбда-выражения в Python - это анонимные функции, которые могут принимать несколько аргументов. Синтаксис для передачи нескольких аргументов очень прост и понятен:
lambda arg1, arg2, arg3, ... : expression
Где:
lambda
- ключевое слово для определения лямбда-выражения.arg1, arg2, arg3, ...
- список аргументов, разделенных запятыми. Количество аргументов может быть любым (в разумных пределах, ограниченных производительностью и читаемостью).:
- символ, разделяющий список аргументов и выражение.expression
- выражение, которое вычисляется и возвращается лямбда-функцией. Важно помнить, что лямбда-выражение может содержать только одно выражение.Примеры:
1. Сложение двух чисел:
add = lambda x, y: x + y
result = add(5, 3) # result будет равен 8
print(result)
2. Конкатенация двух строк:
concatenate = lambda str1, str2: str1 + " " + str2
full_name = concatenate("John", "Doe") # full_name будет равен "John Doe"
print(full_name)
3. Вычисление произведения трех чисел:
multiply = lambda a, b, c: a * b * c
product = multiply(2, 3, 4) # product будет равен 24
print(product)
4. Использование в функциях высшего порядка (например, map
):
numbers = [(1, 2), (3, 4), (5, 6)]
sums = list(map(lambda x, y: x + y, [t[0] for t in numbers], [t[1] for t in numbers])) # sums будет равен [3, 7, 11]
# Альтернативный (и более читаемый) вариант с распаковкой кортежей:
sums = list(map(lambda x: x[0] + x[1], numbers)) # sums будет равен [3, 7, 11]
print(sums)
Важно: Лямбда-выражения в Python предназначены для простых операций. Если логика сложная, лучше использовать обычную функцию, определенную с помощью def
. Это улучшает читаемость кода.
Заключение: Передача нескольких аргументов в лямбда-выражение осуществляется путем перечисления этих аргументов через запятую перед двоеточием. Лямбда-выражения - мощный инструмент для создания кратких и лаконичных функций, но их следует использовать обдуманно, чтобы не ухудшить читаемость кода.