Was ist der effizienteste Weg, um eine feste Anzahl von Elementen von einem Generator zu erhalten?Erhalten Sie eine feste Anzahl von Elementen von einem Generator
Was ich gerade mache, ist zip
und range
. In diesem Beispiel nehme ich Stücke der Größe 3 vom Generator.
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
Der Hintergrund ist, dass die Datenbank, die ich verwende, ein Generatorobjekt für Abfrageergebnisse bereitstellt. Dann fülle ich ein numerisches Array fester Größe mit Daten und verarbeite es als einen Batch.