使用 Python 的 itertools 批处理迭代器
如果您需要处理较小块的数据,则在 Python 中迭代大型迭代器可能效率低下。当处理内存密集型数据集或当您想避免系统过载时,就会出现此问题。
进入 itertools 模块,它提供了一套用于使用迭代器的工具。它鲜为人知但非常有用的功能之一是能够将迭代器批处理成更小的块。
itertools.batched()
itertools.batched() 函数接受一个迭代器和一个块大小作为参数,并返回一个新的迭代器,该迭代器从原始迭代器生成元素元组,每个元组代表一个
例如:
import itertools l = [1, 2, 3, 4, 5, 6, 7] batched_l = itertools.batched(l, 3) for batch in batched_l: print(batch)
输出:
(1, 2, 3) (4, 5, 6) (7,)
其他选项
而 itertools.batched( )是最简单的解决方案,它可能无法满足您的所有要求。如果您需要更多地控制批次的处理方式,请考虑以下替代方案:
以上是Python 的'itertools”模块如何帮助批量大型迭代器进行高效处理?的详细内容。更多信息请关注PHP中文网其他相关文章!