Возврат списка из lambda

Друзья, подскажите, почему я получаю NONE? И как этого избежать?

cons = lambda x, y: y.append(x)
print(cons(1, [0]))


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

Автор решения: CrazyElf

Потому что append ничего и не возвращает. Можно сделать так:

# складываем списки и возвращаем
cons = lambda x, y: y + [x]
print(cons(1, [0]))

Или так:

# возвращаем список после использования append, потом выкидываем лишнее
cons = lambda x, y: (y.append(x), y)
print(cons(1, [0])[1])

Вывод будет одинаковый:

[0, 1]
→ Ссылка