5
ジェネレータから一定数のアイテムを取得する最も効率的な方法は何ですか?ジェネレータから一定数のアイテムを取得する
私が現在行っていることは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
バックグラウンドは、私が使用するデータベースがクエリ結果に対してジェネレータオブジェクトを提供するということです。私は固定サイズの配列をデータで満たし、それを1つのバッチとして処理します。