Встречается на собеседованиях • сегодня

Какие знаешь особенности filter в Python

Функция filter() в Python применяет указанную функцию к каждому элементу итерируемого объекта, оставляя только те элементы, для которых функция возвращает True. Если функция не указана, filter() удаляет все элементы, которые считаются False (например, None, 0, пустые строки).

Особенности:

  1. Возвращает итератор, а не список (в Python 3).
  2. Работает лениво — элементы вычисляются по мере необходимости.
  3. Если передать None в качестве функции, фильтрует по "истинности" элементов.

Пример:

python
numbers = [1, 2, 0, 4, None, 5, False]
filtered = filter(None, numbers)  # Удалит 0, None, False
print(list(filtered))  # [1, 2, 4, 5]

# С функцией-предикатом
even = filter(lambda x: x % 2 == 0, [1, 2, 3, 4])
print(list(even))  # [2, 4]

Альтернатива: Часто удобнее использовать генераторы списков ([x for x in iterable if condition]), особенно если нужен список сразу.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы