import itertools itertools.compress(data, selectors)
data
- последовательность элементов,selectors
- последовательность, состоящая из значений 0, 1 или False
, True
.Функция compress()
модуля itertools
создает итератор, который фильтрует элементы из данных data
, возвращая только те, которые имеют соответствующий элемент, равный True
или 1 в последовательности selectors
.
Функция itertools.compress()
останавливается, когда исчерпана последовательность данных data
или selectors
.
Функция itertools.compress()
примерно эквивалентна следующему коду:
def compress(data, selectors): # compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F return (d for d, s in zip(data, selectors) if s)
>>> from itertools import compress >>> data = 'ABCDEF' >>> selectors = [1,0,1,0,1,1] >>> rez = compress(data, selectors) >>> list(rez) # ['A', 'C', 'E', 'F']