Как передать несколько аргументов в лямбда-выражение?

Лямбда-выражение может принимать несколько аргументов, перечисляя их через запятую до двоеточия. Например: 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. Это улучшает читаемость кода.

Заключение: Передача нескольких аргументов в лямбда-выражение осуществляется путем перечисления этих аргументов через запятую перед двоеточием. Лямбда-выражения - мощный инструмент для создания кратких и лаконичных функций, но их следует использовать обдуманно, чтобы не ухудшить читаемость кода.

0