лямбда аргументы распаковка ошибка

В 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?

8
задан Maroun 5 January 2015 в 09:00
поделиться