繰り返し処理(for文)

Python基礎・繰り返し処理(for文)
スポンサーリンク
スポンサーリンク

Pythonで繰り返し処理を行うには for 文を利用します。ここでは for文の扱い方について解説します。Pythonの学習をすすめる上で、for 文の理解は不可欠なポイントです。

スポンサーリンク

for 文の基本的な使い方

for 文は指定した回数だけ、処理を繰り返し実行します。基本的な書式は次の通りです。

for 変数 in 繰り返し可能オブジェクト:
    実行する処理1
    実行する処理2

for文の最後に :(コロン)を付けます。
繰り返し可能オブジェクトから要素を順番に取得して、要素の数だけブロックに記述された処理を順に実行します。処理を継続させるためには、ブロック内に記述します。

Pythonではブロックをインデントで定義しており、インデントはスペースを4つ使う事が推奨されています。
Visual Studio Codeを利用する場合は、インデントの階層毎に色分けしてくれる拡張機能があります。
・参考記事:Visual Studio Code おすすめ拡張機能

繰り返し可能オブジェクトとは、要素が並んでいるデータで、順番に次の要素が取り出せるオブジェクトのことで、文字列、リスト、タプル、辞書などが繰り返し可能オブジェクトになります。

次のサンプルプログラムでは、リストから順に要素を取り出し、繰り返し処理を実行しています。

for 文の処理の流れは以下のようになります。

① mylistの1番めの要素 「python」 を item に代入
② 変数 item の値を出力
③ mylistの2番めの要素 「work」 を item に代入
④ 変数 item の値を出力
⑤ mylistの3番めの要素 「com」 を item に代入
⑥ 変数 item の値を出力

rangeを使った繰り返し処理

for 文の繰り返し回数を指定する方法として、range関数を使用する方法があります。基本的な書式は次の通りです。

for 変数 in range(繰り返し回数):
    実行する処理1
    実行する処理2

繰り返し数を範囲で指定したい場合は、range(開始, 終了) のように2つの引数を指定します。この時数字の範囲は、開始≦ i <終了 になります。

さらに、1ずつ増加する連番でなく、増分を指定したい場合は、range(開始、終了、ステップ) のように第三引数を指定します。

繰り返し処理を強制的に終了する(break)

for 文のブロックの中でbreakが実行されると、それ以降の処理を行わずに、繰り返し処理を強制的に終了させることができます。
if 文と組み合わせて使います。
・関連記事:条件分岐(if文)

for for 変数 in 繰り返しオブジェクト:
    実行する処理1
    実行する処理2
    if 条件式:
        break

以下の場合、rangeの繰り返し処理により i が0から順に処理され、5になった時に if 文が True となり、break 文が実行され for 文の繰り返し処理が終了します。

繰り返し処理をスキップする(continue)

for 文のブロックの中で continue が実行されると、繰り返し処理がスキップして先頭まで処理が移ります。

for for 変数 in 繰り返しオブジェクト:
    実行する処理1
 
    if 条件式:
        実行する処理2
        continue
 
    実行する処理3
 

以下の例では、i を2で割った余りを求め、余りが0のときはcontinueを実行して、for文の先頭に戻ります。
・関連記事:演算子-数値計算

リストの要素とインデックスを取得(enumerate)

for 文でenumerate() を使用することで、オブジェクトの要素と同時にインデックス番号を取得できます。

for for 変数 in enumerate(繰り返しオブジェクト):
    実行する処理1

次の例ではリストに対してenumerateを使い、文字列とインデックス番号をセットで取り出しています。
デフォルトではインデックス番号は 0 から開始します。


インデックス番号を1から開始するためには、enumerateの第二引数に 1 を指定します。開始する数字は任意の数字を指定できます。

Pythonで繰り返し処理を行う方法を解説しました。

・関連記事:条件分岐(if文)