Python - может лямбда иметь более одного возврата
Я знаю, что lambda не имеет выражения возврата. Обычно
def one_return(a):
#logic is here
c = a + 1
return c
можно записать:
lambda a : a + 1
Как написать это в лямбда-функции:
def two_returns(a, b):
# logic is here
c = a + 1
d = b * 1
return c, d
Ответы
Ответ 1
Да, это возможно. Потому что выражение, подобное этому в конце функции:
return a, b
Это эквивалентно этому:
return (a, b)
И там вы действительно возвращаете одно значение: кортеж, который имеет два элемента. Так что нормально, если лямбда вернет кортеж, потому что это одно значение:
lambda a, b: (a, b) # here the return is implicit
Ответ 2
Конечно:
lambda a, b: (a + 1, b * 1)
Ответ 3
как насчет:
lambda a,b: (a+1,b*1)