Python Itertools --- lanac, isSlice i izip Objašnjeno primjerima

Itertools je Python modul funkcija koje vraćaju generatore, a to su objekti koji funkcioniraju samo kad se ponavljaju.

lanac()

chain()Funkcija traje nekoliko iterators kao argumente. Prolazi kroz svaki element svakog prijeđenog iterabiliteta, a zatim vraća jedan iterator sa sadržajem svih prošlih iteratora.

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

islice ()

U islice()specifični elementi funkcija vraća iz prošao Iterator.

Potrebni su isti argumenti kao i slice()operator za popise: start, stop i step. Start i stop nisu obavezni.

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

izip ()

izip() vraća iterator koji kombinira elemente proslijeđenih iteratora u tuple.

Radi slično zip(), ali vraća iterator umjesto popisa.

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

Više informacija:

  • Naučite analizu podataka s Pythonom - besplatni tečaj od 4 sata
  • Višenitni Python: provlačenje kroz I / O usko grlo?