Функциональное программирование в Python

Столкнулся с проблемой решения задачи на одном из курсов. При составлении данного кода в этой строке

 lambda z: tuple(z)

среда выдаёт ошибку

Lambda may not be necessary (unnecessary-lambda)

Полный код представлен ниже. Не могу понять, как можно оптимизировать лямбду.

import itertools
import functools
print(*(tuple([[[0]]]) + tuple(
    *map(lambda data: filter(lambda x: tuple(x[0]) == x[1],
        map(lambda variant: (
            filter(lambda bet: ((variant.index(bet[0]) >= variant.index(bet[1])) ^
                                (variant.index(bet[2]) >= variant.index(bet[3]))),
                   data[1]), data[1], variant + data[2]), data[0])),
         map(lambda x: (itertools.permutations(
             set(functools.reduce(lambda x, y: x + y, x[1]))), x[1],
                        tuple(set(range(1, x[0] + 1)) - set(functools.reduce(
            lambda x, y: x + y, x[1])))),
             map(lambda dataEntered: (next(dataEntered),
                                      tuple(set(map(
                                          lambda z: tuple(z),
                                              map(lambda x: map(int, input().split()),
                         range(next(dataEntered))))))), [map(int, input().split())])
             ))
))[-1][-1])

Входные данные Ввод

3 2

2 1 2 3

1 2 3 2

Вывод

3 2 1


Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Выражение lambda z: tuple(z) полностью взаимозаменяемо с tuple. Это верно для любой функции f вместо tuple:

lambda x: f(x) <=> f

lambda *args: f(*args) <=> f

lambda *args, **kwargs: f(*args, **kwargs) <=> f

→ Ссылка