Python Itertools --- kæde, isSlice og izip forklaret med eksempler

Itertools er et Python-modul med funktioner, der returnerer generatorer, som er objekter, der kun fungerer, når det gentages.

lænke()

Den chain()funktion tager flere iteratorer som argumenter. Den går gennem hvert element i hver bestået iterabel og returnerer derefter en enkelt iterator med indholdet af alle beståede iteratorer.

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

islice ()

De islice()-funktionen specifikke elementer fra øjeblikkeligt iteratoren.

Det tager de samme argumenter som slice()operatøren for lister: start, stop og trin. Start og stop er valgfri.

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

zip ()

izip() returnerer en iterator, der kombinerer elementerne i de passerede iteratorer i tupler.

Det fungerer på samme måde som zip(), men returnerer en iterator i stedet for en liste.

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

Mere information:

  • Lær dataanalyse med Python - Et gratis 4-timers kursus
  • Multithreaded Python: glider gennem en I / O flaskehals?