Как не пропустить следующий элемент после itertools.takewhile ()

Скажем, мы хотим обработать итератор и хотим обрабатывать его кусками.
Логика для каждого чанка зависит от предварительно рассчитанных чанков, поэтомуgroupby() не помогает.

Наш друг в этом случае - itertools.takewhile ():

while True:
    chunk = itertools.takewhile(getNewChunkLogic(), myIterator)
    process(chunk)

Проблема в том, чтоtakewhile() необходимо пройти мимо последнего элемента, который соответствует новой логике чанка, таким образом «съедая» первый элемент для следующего чанка.

Существуют различные решения для этого, в том числе обертывание или а-ля Сungetc(), так далее..
Мой вопрос: есть лиэлегантный решение?

Ответы на вопрос(2)

Ваш ответ на вопрос