Como não perder o próximo elemento após itertools.takewhile ()
Digamos que desejamos processar um iterador e queremos manipulá-lo por partes.
A lógica por pedaço depende de pedaços previamente calculados, portantogroupby()
não ajuda.
Nosso amigo nesse caso é itertools.takewhile ():
while True:
chunk = itertools.takewhile(getNewChunkLogic(), myIterator)
process(chunk)
O problema é quetakewhile()
precisa ir além do último elemento que atenda à nova lógica de chunk, 'comendo' o primeiro elemento para o próximo chunk.
Existem várias soluções para isso, incluindo embalagem ou à la C'sungetc()
etc ..
Minha pergunta é: existe umaelegante solução?