Python Itertools --- верига, isSlice и izip Обяснено с примери

Itertools е модул от функции на Python, които връщат генератори, които са обекти, които функционират само при повторение.

верига ()

Най chain()функция отнема няколко итератори като аргументи. Той преминава през всеки елемент от всеки преминат итерируем, след което връща един итератор със съдържанието на всички предадени итератори.

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

islice ()

На islice()функцията връща специфични елементи от минали итератор.

Взима същите аргументи като slice()оператора за списъци: старт, стоп и стъпка. Стартирането и спирането не са задължителни.

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

izip ()

izip() връща итератор, който комбинира елементите на предадените итератори в кортежи.

Той работи подобно на zip(), но връща итератор вместо списък.

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

Повече информация:

  • Научете анализ на данни с Python - Безплатен 4-часов курс
  • Многонишков Python: прескачане през I / O пречка?