Python Itertools --- chain, isSlice et izip expliqués avec des exemples

Itertools est un module Python de fonctions qui renvoient des générateurs, qui sont des objets qui ne fonctionnent que lorsqu'ils sont itérés.

chaîne()

La chain()fonction prend plusieurs itérateurs comme arguments. Il parcourt chaque élément de chaque itérateur passé, puis retourne un seul itérateur avec le contenu de tous les itérateurs passés.

import itertools list(itertools.chain([1, 2], [3, 4])) # Output # [1, 2, 3, 4]

islice ()

La islice()fonction renvoie des éléments spécifiques à partir de l'itérateur passé.

Il prend les mêmes arguments que l' slice()opérateur pour les listes: start, stop et step. Le démarrage et l'arrêt sont facultatifs.

import itertools list(itertools.islice(count(), 5)) # Output # [0, 1, 2, 3, 4]

izip ()

izip() renvoie un itérateur qui combine les éléments des itérateurs passés en tuples.

Il fonctionne de la même manière que zip(), mais renvoie un itérateur au lieu d'une liste.

import itertools list(izip([1, 2, 3], ['a', 'b', 'c'])) # Output # [(1, 'a'),(2, 'b'),(3, 'c')]

Plus d'information:

  • Apprenez l'analyse de données avec Python - Un cours gratuit de 4 heures
  • Python multithread: glissant à travers un goulot d'étranglement d'E / S?