В Python 2 этот код в порядке:
f = lambda (m, k): m + k
m = [1,2,3,4]
k = [5,6,7,8]
print(map(f, zip(m, k)))
, но в Python 3 произошла следующая ошибка:
f = lambda (m, k): m + k
^
SyntaxError: invalid syntax
Если я удаляю скобки в лямбда-выражении, то возникает другая ошибка:
TypeError: <lambda>() missing 1 required positional argument: 'k'
Также подход с кортежем, так как одиночный лямбда-аргумент работает в Python 3, но не совсем понятно (трудно для чтения):
f = lambda args: args[0] + args[1]
Как правильно распаковать значения в Python 3?