如何从生成器中高效地获取固定数量的项?
我目前使用 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数组,并将其作为一个批次进行处理。