Python で N 回繰り返す
このチュートリアルでは、Python でコードを N 回繰り返すための様々な方法を見ていきます。多くの場合、配列の各要素に対して一連のアクションを実行する必要があります。例えば、テキストを一行ずつ処理したり、配列の各値に対して数学的な操作を行ったり、配列やリストをソートしたりなどです。
上記のすべてのタスクについて、コードの一部を何度も何度も繰り返す必要があります。このチュートリアルでは、Python で特定のタスクを N 回繰り返す方法を見ていきます。
range() 関数を使って Python で N 回繰り返す
プログラミングで特定のタスクや操作を N 回繰り返す最も一般的な方法は、for ループを使うことです。
Python の range() 関数を用いて for ループを用いてコード行を N 回繰り返すことができます。range(start, stop, step) 関数は、引数 start で指定した値(デフォルトでは 0 に等しい)から、引数 stop で指定した値までの数列を返します。引数 step は関数 range() が返す数値列のステップサイズを指定し、その値はデフォルトでは 1 に設定されています。
以下のコード例は、range() メソッドを用いて for ループを作成し、コードを N 回繰り返す方法を示しています。
num = 10
for x in range(num):
# code
コード中で変数 x が不要な場合、以下のようにして for ループを利用することができます。_ は、ループ内の使い捨て変数として使用されます。
num = 10
for _ in range(num):
# code
Python で itertools.repeat() メソッドを使って N 回繰り返す
itertools.repeat(val, num) メソッドは無限の反復子であり、num (反復回数を表す) が指定されていない場合は break 文まで無限に反復することを意味します。このメソッドの val パラメータは繰り返しのたびに表示される値を表します。
反復を N 回繰り返したいので、引数 num には N の値を、引数 val には None の値を渡すことにします。itertools.repeat() メソッドは range() メソッドよりも効率的であるが、このメソッドを使うには itertools モジュールをインポートする必要があります。
以下のコード例は、itertools.repeat() メソッドを用いて特定のコードを N 回繰り返す方法を示しています。
import itertools
num = 10
for _ in itertools.repeat(None, num):
# code