Maison >développement back-end >Tutoriel Python >Comment le module « itertools » de Python peut-il aider à regrouper de grands itérateurs pour un traitement efficace ?
Traitement par lots d'itérateurs avec les itertools de Python
Itérer sur de grands itérateurs en Python peut être inefficace si vous devez traiter des données en morceaux plus petits. Ce problème survient lorsque vous traitez des ensembles de données gourmands en mémoire ou lorsque vous souhaitez éviter de surcharger votre système.
Entrez dans le module itertools, qui fournit une suite d'outils pour travailler avec des itérateurs. L'une de ses fonctionnalités les moins connues mais incroyablement utiles est la possibilité de regrouper les itérateurs en morceaux plus petits.
itertools.batched()
La fonction itertools.batched() prend un itérateur et une taille de morceau comme arguments et renvoie un nouvel itérateur qui produit des tuples d'éléments de l'itérateur d'origine, chaque tuple représentant un batch.
Par exemple :
import itertools l = [1, 2, 3, 4, 5, 6, 7] batched_l = itertools.batched(l, 3) for batch in batched_l: print(batch)
SORTIE :
(1, 2, 3) (4, 5, 6) (7,)
Autres options
Pendant que itertools.batched( ) est la solution la plus simple, mais elle ne répond peut-être pas à toutes vos exigences. Si vous avez besoin de plus de contrôle sur la façon dont les lots sont gérés, envisagez les alternatives suivantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!