2023.6.26 count関数【itertool】
itertoolモジュールは無限ループを制御するオブジェクトを提供する。range関数はループの回数が予め決まっている場合に利用するが、count関数は無限イテレータを生成し、無限ループを実装するために用いられる。 その1
code:python
from itertools import count
import sys
for i in count():
print(i, end=' ')
if i > 10:
break
結果:
code:python
0 1 2 3 4 5 6 7 8 9 10 11
引数無しの場合、初期値0、刻み1で数字を吐き出す
ループから脱出するにはこのようにbreak文やreturn文などを利用する。
その2
range関数のように、数列の初期値と刻みを与えることができる。
引数の数が1つの場合、これは初期値として扱われる。
code:python
start = 5
for i in count(start):
print(i, end=' ')
if i > 10:
break
結果
code:python
5 6 7 8 9 10 11
その3
引数の数が2つの場合、初期値、刻みとして扱われる。
code:python
start = 5
step = 3
for i in count(start, step):
print(i, end=' ')
if i > 10:
break
結果
code:python
5 8 11
その4
初期値や刻みに実数を指定することもできる
code:python
start = 3.1
step = 0.5
for i in count(start, step):
print(i, end=' ')
if i > 10:
break
結果
code:python#
3.1 3.6 4.1 4.6 5.1 5.6 6.1 6.6 7.1 7.6 8.1 8.6 9.1 9.6 10.1