# Функция filter

Функция `filter` фильтрует элементы итерируемого объекта, оставляя только подходящие под определенное условие. В первом параметре указывается функция-коллбэк, по которой будет фильтроваться объект. Во втором параметре - сам объект для фильтрации.

В объекте остаются только те элементы, для которых коллбэк вернет `True`.

Своим результатом функция возвращает специальный итерируемый объект. Его можно преобразовать в список, воспользовавшись функцией `list`.

## Синтаксис

`filter(функция, объект для фильтрации)`

## Пример

Давайте с помощью фильтрации исходного списка получим список, состоящий только из четных элементов:

`lst = [2, 3, 6, 8, 15] res = filter(lambda x: x % 2 == 0, lst) print(list(res))`

Результат выполнения кода:

`[2, 6, 8]`

## Пример

А теперь отфильтруем только нечетные элементы:

`lst = [2, 3, 6, 8, 15] res = filter(lambda x: x % 2 != 0, lst) print(list(res))`

Результат выполнения кода:

`[3, 15]`

## Смотрите также

- метод `sort`,
  который сортирует элементы списка
- функция `sorted`,
  которая возвращает отсортированный список из итерируемых объектов
- функция `map`,
  которая перебирает итерируемые объекты

← →
↑