Создаёт итератор, выдающий элементы до указанного.
itertools.takewhile(predicate, iterable)
-> iterator
predicate -- Функция, описывающая условие попадания элемента в результат. Должна принимать текущий элемент фильтруемого объекта. Пока эта функция возвращает True, элементы будут возвращаться.

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
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.