Что такое функция filter в Python?
Ответы
Карина Абдуллаева
02 декабря 2022
Встроенная функция filter(function, iterable)
возвращает итератор по тем элементам объекта, для которых функция вернула True.
filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6])
# <filter at 0x7f1d83252320>
# передаем итератор функции list()
list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6]))
# [2, 4, 6]
Аналогичным образом можно использовать генераторные выражения. Так как в примере выше у нас списки, то для иллюстрации этого способа сразу используем генератор списка (list comprehensions). Подробнее о них см. документацию.
[item for item in [1, 2, 3, 4, 5, 6] if item % 2 ==0]
# [2, 4, 6]
0
0