Приведем 2 примерам использования итератора count.
Начальное значение равно 0 в первом коде ниже, и цикл продолжается, печатая все значения, начиная с 0 до 5. Поскольку значение для шага не указано, то значение шага по умолчанию равно 1. Цикл прерывается при обнаружении значений больше 5 из-за наличие оператора break, иначе он будет работать бесконечно.
Начальное значение 10 во втором коде ниже, и цикл продолжается, печатая все значения, начиная с 10 до 20. Поскольку значение для шага равно 2 в этом примере, печатаются все четные числа от 10 до 20. Цикл прерывается при обнаружении значений больше 20 из-за наличия оператора break, иначе он будет работать бесконечно.
Вывод:
0
1
2
3
4
5
Вывод:
10
12
14
16
18
20
Способ 2: ограничение с помощью итератора islice:
Итератор islice из пакета Python itertools работает для ограничения бесконечного итератора. Он принимает в качестве аргумента бесконечный итератор и значение остановки. Итератор islice выборочно выполняет итерацию до n-го термина, переданного в качестве аргумента в контейнере islice, начиная с начальной позиции.
islice(iterable, start, stop, step)
iterable — это объект для работы.
start и stop относятся к начальному и конечному значениям соответственно
step относится к разнице между двумя последовательными значениями (шаг по умолчанию = 1)
В приведенном ниже коде count(5) используется как итерируемый, а 3 является пределом islice. Значения, начинающиеся с 5, печатаются до 3 значений, т.е. 7
Вывод:
5
6
7