Вопрос проверяет умение применять фильтрацию данных и понимать базовые идиомы Python.
Фильтрация выполняется с помощью генераторов списков, filter() или обычных циклов. Наиболее читаемый способ — list comprehension. Условие записывается рядом с выражением. Это позволяет компактно отбирать нужные элементы.
Фильтрация — это отбор элементов, удовлетворяющих условию.
Самый распространенный способ:
numbers = [1, 2, 3, 4]
result = [x for x in numbers if x % 2 == 0]
Это читаемо и компактно.
words = ["cat", "python", "hi"]
long_words = [w for w in words if len(w) > 3]
result = list(filter(lambda x: x % 2 == 0, numbers))
Используется реже, потому что менее читаемо.
Если список большой:
result = (x for x in numbers if x % 2 == 0)
Это экономит память.
List comprehension — основной инструмент фильтрации в Python, генераторы используются при работе с большими объемами данных.