Бесконечный счётчик
Функция itertools.count(start=0, step=1)
создаёт бесконечный итератор. Можно задать начальное значение и шаг итерирования.
>>> cnt = itertools.count(start=2020, step=4)
>>> next(cnt)
2020
>>> next(cnt)
2024
>>> next(cnt)
2028
Пример использования итератора в zip
-функции:
>>> days = [366]*4
>>> list(zip(itertools.count(2020, 4), days))
[(2020, 366), (2024, 366), (2028, 366), (2032, 366)]
Чтобы продолжить счёт при прерывании выполнения программы передайте последнее значение новому объекту итератора в виде параметра start
.
Если необходимо подсчитывать число вхождений элементов в список или кортеж, обратите внимание на Counter()
из модуля collections.