itertools.takewhile
Создаёт итератор, выдающий элементы до указанного.
itertools.takewhile(predicate, iterable)
-> iterator
predicate -- Функция, описывающая условие попадания элемента в результат. Должна принимать текущий элемент фильтруемого объекта. Пока эта функция возвращает True, элементы будут возвращаться.
iterable -- Объект, поддерживающий итерирование, по элементам которого требуется пройти.
iterable -- Объект, поддерживающий итерирование, по элементам которого требуется пройти.
Итератор, полученный в результате выполнения функции, выдаёт элементы указанного объекта, поддерживающего итерирование, ровно до того момента, пока функция, переданная в аргументе
predicate
не вернёт False
, после этого итератор останавливается. from itertools import takewhile
filtered = takewhile(lambda item: item < 3, [1, 2, 3, 4])
list(filtered) # [1, 2]
На заметку
Функция антипод — dropwhile().
Синонимы поиска: itertools.takewhile, itertools, takewhile
В разделе «itertools»:
itertools.accumulate
itertools.chain
itertools.compress
itertools.count
itertools.cycle
itertools.dropwhile
itertools.filterfalse
itertools.groupby
itertools.ifilter
itertools.ifilterfalse
itertools.imap
itertools.islice
itertools.product
itertools.repeat
itertools.starmap
itertools.tee
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.