При помощи указанной функции фильтрует элементы переданного объекта.
filter(func, iterable)
-> +py3.0 iterator | list, tuple, str
func -- Фильтрующая функция. Должна принимать элемент фильтруемого объекта. Если функция вернёт False, данный элемент не попадёт в результат. Если передано None, считается что требуется применить тождественное отображение (lambda *args: args), таким образом все элементы, оцениваемые как False будут отфильтрованы.

iterable -- Объект, элементы которого следует отфильтровать. Может быть последовательностью, объектом поддерживающим итерирование, либо итератором. До -py3.0, если объект является строкой, или кортежем, результат будет соответствующего типа, в остальных случаях возвращается список.

    filtered = filter(None, [1, 0, 2, '', 4])
list(filtered) # [1, 2, 4]

filtered = filter(lambda value: 'a' in value, ['', 'a', 'b', 'fa'])
list(filtered) # ['a', 'fa']

# Далее для Python 2
filtered = filter(None, (1, 0, 2, '', 4))
filtered # (1, 2, 4)

filtered = filter(lambda value: value == 'a', 'abrakadabra')
filtered # 'aaaaa'

На заметку
До -py3.0, чтобы получить в результате итератор (стандартное поведение Python 3) используйте itertools.ifilter(), itertools.ifilterfalse().

На заметку
Чтобы получить результат из элементов оцененных как False, воспользуйтесь itertools.filterfalse().
Синонимы поиска: filter
На заметку
Зарегистрированные пользователи могут публиковать свои мнения относительно Книг, Видео, Статей других авторов и прочего в разделе Обсуждений.