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