【发布时间】:2013-04-17 18:49:45
【问题描述】:
从生成器中获取固定数量的项目的最有效方法是什么?
我目前所做的是使用zip 和range。在这个例子中,我采取
来自生成器的大小为 3 的块。
def f():
x = 0
while x < 21:
yield x
x += 1
g = f()
while True:
x = [i for _, i in zip(range(3), g)]
if not x:
break
print x
背景是我使用的数据库为查询结果提供了一个生成器对象。比我用数据填充一个固定大小的 numpy 数组并将其作为一批处理。
【问题讨论】: