Я попробовал 2 фрагмента, чтобы выяснить разницу между Python лямбда и обычной функцией.
этот получит то, что ожидается.
b = range(6)
def greater_than2(b):
if b > 2:
return b
print(list(filter(lambda x: x > 2, b)))
print(list(filter(greater_than2, b)))
оба отпечатка дают [3, 4, 5].
но что-то идет с этим
b = range(6)
def less_than2(b):
if b < 2:
return b
print(list(filter(lambda x: x < 2, b)))
print(list(filter(less_than2, b)))
я получил следующий вывод
[0, 1]
[1]
Итак, в чем разница между лямбда-функцией и less_than2?