Фильтрация группы элементов

Функция compress() оставляет из итерируемых данных только те, что соответствуют позициям булевых селекторов:

>>> numbers = [0, 1, 2, 3, 2, 1, 0]
>>> selectors = [True, True, False, True]
>>> list(itertools.compress(numbers, selectors))
[0, 1, 3]

Метод itertools.filterfalse() дополняет обычный фильтр filter():

def filter_func(n):
    if n < 2:
        return True
    return False

print(list(filter(filter_func, numbers)))
print(list(itertools.filterfalse(filter_func, numbers)))
[0, 1, 1, 0]
[2, 3, 2]