Itertools este un modul Python de funcții care returnează generatoare, care sunt obiecte care funcționează numai atunci când se repetă.

lanţ()

chain() funcția ia mai mulți iteratori ca argumente. Trece prin fiecare element al fiecărui iterabil trecut, apoi returnează un singur iterator cu conținutul tuturor iteratorilor trecuți.

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

# Output
# [1, 2, 3, 4]

islice ()

islice() funcția returnează elemente specifice din iteratorul trecut.

Este nevoie de aceleași argumente ca slice() operator pentru liste: start, stop și step. Pornirea și oprirea sunt opționale.

import itertools
list(itertools.islice(count(), 5))

# Output
# [0, 1, 2, 3, 4]

izip ()

izip() returnează un iterator care combină elementele iteratorilor trecuți în tupluri.

Funcționează similar cu zip(), dar returnează un iterator în loc de o listă.

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

# Output
# [(1, 'a'),(2, 'b'),(3, 'c')]

Mai multe informatii:

  • Aflați analiza datelor cu Python – un curs gratuit de 4 ore
  • Multithreaded Python: slithering printr-un blocaj I / O?