itertools.takewhile()
Выдаёт элементы, пока предикат истинен, и останавливается на первом ложном.
Сигнатура
itertools.takewhile(predicate, iterable)Противоположность dropwhile: возвращает элементы с начала последовательности, пока predicate истинен. На первом элементе, где предикат ложен, итерация прекращается.
import itertools
print(list(itertools.takewhile(lambda x: x < 5, [1, 3, 6, 2, 8])))
# [1, 3]