相关疑难解决方法(0)

如何在itertools.takewhile()之后不要错过下一个元素

假设我们希望处理迭代器并希望通过块来处理它.
每个块的逻辑取决于先前计算的块,因此groupby()没有帮助.

在这种情况下,我们的朋友是itertools.takewhile():

while True:
    chunk = itertools.takewhile(getNewChunkLogic(), myIterator)
    process(chunk)
Run Code Online (Sandbox Code Playgroud)

问题是takewhile()需要经过满足新块逻辑的最后一个元素,因此"吃掉"下一个块的第一个元素.

有各种解决方案,包括包装或àC ungetc()等.
我的问题是:有一个优雅的解决方案吗?

python python-itertools

19
推荐指数
1
解决办法
694
查看次数

标签 统计

python ×1

python-itertools ×1