Batchverarbeitung von Iteratoren mit den Itertools von Python
Das Iterieren über große Iteratoren in Python kann ineffizient sein, wenn Sie Daten in kleineren Blöcken verarbeiten müssen. Dieses Problem tritt auf, wenn Sie mit speicherintensiven Datensätzen arbeiten oder wenn Sie eine Überlastung Ihres Systems vermeiden möchten.
Betreten Sie das itertools-Modul, das eine Reihe von Tools für die Arbeit mit Iteratoren bereitstellt. Eine seiner weniger bekannten, aber unglaublich nützlichen Funktionen ist die Möglichkeit, Iteratoren in kleinere Blöcke zu stapeln.
itertools.batched()
Die Funktion itertools.batched() Nimmt einen Iterator und eine Blockgröße als Argumente und gibt einen neuen Iterator zurück, der Tupel von Elementen aus dem ursprünglichen Iterator liefert, wobei jedes Tupel a darstellt Batch.
Zum Beispiel:
import itertools l = [1, 2, 3, 4, 5, 6, 7] batched_l = itertools.batched(l, 3) for batch in batched_l: print(batch)
AUSGABE:
(1, 2, 3) (4, 5, 6) (7,)
Andere Optionen
Während itertools.batched( ) ist die einfachste Lösung, sie erfüllt jedoch möglicherweise nicht alle Ihre Anforderungen. Wenn Sie mehr Kontrolle darüber benötigen, wie Batches gehandhabt werden, ziehen Sie die folgenden Alternativen in Betracht:
Das obige ist der detaillierte Inhalt vonWie kann das „itertools'-Modul von Python dabei helfen, große Iteratoren für eine effiziente Verarbeitung zu stapeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!