Лямбды и функции filter()
Еще одна функция Python, которая может быть значительно улучшена применением лямбды, - это filter().
Она ожидает того же рода аргументы, что и map(), но делает нечто другое - она фильтрует второй аргумент, руководствуясь указаниями, вытекающими из функции, указанной в качестве первого аргумента (функция вызывается для каждого элемента списка, как в map()).
Элементы, которые возвращают True из функции, проходят фильтр - остальные отклоняются.
В примере в редакторе показана функция filter() в действии.
Примечание: мы использовали модуль random, чтобы инициализировать генератор случайных чисел (не путать с генераторами, о которых мы только что говорили) с помощью seed() и для получения пяти случайных целочисленных значений от -10 до 10 с помощью функции randint().
Затем список фильтруется, и принимаются только числа, которые четные и больше нуля.
Конечно, маловероятно, что Вы получите такие же результаты, но вот как выглядели наши:
[6, 3, 3, 2, -7]
[6, 2]
output