Ce face itertools.batched()
batched(colectie, n) produce tupluri de câte n elemente; ultimul lot poate fi mai scurt. Este util pentru trimiterea datelor pe bucăți (de exemplu câte 100 de rânduri într-o bază de date sau câte 50 de email-uri).
Din Python 3.13, strict=True aruncă ValueError dacă ultimul lot nu este complet.
Parametri
| Parametru | Descriere |
|---|---|
iterabil |
Elementele. |
n |
Mărimea unui lot (cel puțin 1). |
strict |
Opțional. Eroare dacă ultimul lot este incomplet. |
Ce returnează
Un iterator de tupluri.
Exemple
Exemplul 1: Loturi de câte 3
from itertools import batched
destinatari = ["ana", "dan", "ioana", "mihai", "elena", "radu", "maria"]
for lot in batched(destinatari, 3):
print(lot)
try:
list(batched(range(5), 2, strict=True))
except ValueError as e:
print("Eroare:", e)
Rezultat
('ana', 'dan', 'ioana')
('mihai', 'elena', 'radu')
('maria',)
Eroare: batched(): incomplete batch
Greșeli frecvente
- Folosești
batchedpe Python 3.11 sau mai vechi și primeștiImportError. Acolo scrie o buclă cuislice.
Comenzi înrudite
itertools.islice(): Ia o „felie” dintr-un iterator sau generator, ca [start:stop:pas] la liste.itertools.pairwise(): Produce perechile de elemente vecine: (a, b), (b, c), (c, d)…range(): Generează un șir de numere întregi, folosit mai ales în bucle for.