Функция filter(function, iterable) создает итератор из тех элементов iterable, для которых function(item) возвращает истинное (true) значение.
Принцип работы:
filter принимает два аргумента: функцию (function) и итерируемый объект (iterable).item в iterable.item вызывается функция function(item).function(item) является истинным (любое значение, которое оценивается как True в булевом контексте), item включается в результирующий итератор.False, None, 0, пустые коллекции), item пропускается.filter возвращает итератор, который лениво генерирует отфильтрованные элементы.Пример использования:
python
Отличие от генераторов списков:
filter возвращает итератор (ленивое выполнение), что эффективно для больших данных.| Признак | filter() | Генератор списка |
|---|---|---|
| Возвращаемый тип | Итератор | Список |
| Вычисление | Ленивое (по требованию) | Жадное (сразу при создании) |
| Память | Эффективно для больших данных | Может потреблять много памяти |
| Синтаксис | filter(func, iterable) | [item for item in iterable if condition] |