【Python入門】for文での繰り返し指定やループを抜ける方法について解説

Pythonでは、for文にて指定した範囲にて同じ処理を繰り返し実行する操作が可能です。

for文が活用できるようになれば、複雑な処理でも少ない記述量で扱えるようになります。

この記事では、for文の基本の使い方や、繰り返し指定・ループを抜ける方法について解説します。

目次

基本的な使い方

for文の記述方法として、「繰り返し対象(:の手前で記述)」にて記述した値の要素ごとに、繰り返し実行を行います。

その際、対象となる要素は「変数名(inの手前で記述)」に保持され、処理時に使用が可能となります。

また、Pythonではインデント(字下げ)した内容に対して「この部分がfor文で行う処理」と認識する仕様になっています。

そのため、処理内容については必ず字下げを行うようにしてください

ls = ["テスト", 123, False]  # lsという変数に、リストを保持

for i in ls:  # ls(リスト)の各要素をiに保持し、以下の処理を繰り返し実行
    print(i)  # i(要素)の中身を表示

= 実行結果 =

テスト
123
False

繰り返しの指定方法

for文の「繰り返し対象(:の手前)」では、文字列や配列といった要素をもつ値を指定できます。

【文字列】1文字ごとに処理を実行

文字列を指定した場合、1文字ごとfor文の処理が実行されます。

繰り返し処理を行う際、空白・スペースも1文字としてカウントします。

word = "Python"  # wordという変数に、文字列(Python)を保持

for i in word:  # word(文字列)の各文字をiに保持し、以下の処理を繰り返し実行
    print(i)  # i(文字)の中身を表示

= 実行結果 =

P
y
t
h
o
n

【配列】要素ごとに処理を実行 ※辞書以外

配列(辞書以外)を指定した場合、要素ごとにfor文の処理が実行されます。

また、指定する際にスライス機能を併用すれば、要素を逆順で実行するといった操作も可能です。

ls = [1, 2, 3, 4, 5]  # lsという変数に、リストを保持

for i in ls[::-1]:  # ls(リスト)の各要素をiに保持し、以下の処理を逆順で実行
    print(i)  # i(要素)の中身を表示

= 実行結果 =

5
4
3
2
1

【辞書】各キー・値ごとに処理を実行

辞書(dict型)を指定した場合、基本的には他の配列と同じく要素ごとにfor文の処理が実行されます。

ただし、実行の際には以下のメソッドを併用し、繰り返し対象を指定します。

メソッド…特定の値や変数に対して処理を行い、その結果を返す仕組みのこと

メソッド指定する変数詳細
keys()1つ各要素のキーごとに処理を実行
values()1つ各要素のごとに処理を実行
items()2つ各要素のキー・値ごとに処理を実行

各メソッドの記述方法として、対象となる辞書の後ろに「.メソッド名」をつける形で記述します。

また、keys()values()では「変数名(inの手前)」を1つ、items()では2つ設定が必要です。

(items()の場合、1つめの変数にキーが、2つめの変数にが保持されます)

dc = {"key1": "テスト", "key2": 123, "key3": False}  # dcという変数に、辞書を保持

for key, value in dc.items():  # keyにdcのキー、valueにdcの値を保持し、以下の処理を実行
    print(key, value)  # key(キー)とvalue(要素)の中身を表示

= 実行結果 =

key1 テスト
key2 123
key3 False

【range】繰り返し回数を指定して実行

range()は、連続した整数を要素に持つオブジェクトを作成するための記述法です。

括弧()内に範囲を指定することで、該当する整数を保持したオブジェクトを作成できます。

つまり、for文の繰り返し対象にrange()を組み合わせれば、実行したい回数を数値にて自由に決定できます。

for i in range(3):  # 3未満の数値(0~2)をiという変数に保持し、以下の処理を繰り返し実行
    print(i, "回目の処理")  # iの中身と文字列を表示 ※3回行う

= 実行結果 =

0 回目の処理
1 回目の処理
2 回目の処理

ループを抜ける方法

for文を実行するにあたり、「指定した条件で処理を終了・スキップしたい」場面も出てくるかと思います。

Pythonでは、繰り返し処理を抜ける方法としてbreakcontinueが用意されています。

【break】for文を抜け出す

break文は、繰り返し処理を抜け出す際に使用する記述法です。

breakが実行された時点で、その後のループ処理は一切行わずにfor文を終了します。

for i in range(5):  # 5未満の数値(0~4)をiという変数に保持し、以下の処理を繰り返し実行
    if i == 3:  # iが3の場合、以下の処理を実行
        break  # for文の処理を終了する
    print(i)  # iの中身を表示する

= 実行結果 =

0
1
2

if文については、こちらの記事にて詳しく説明してます

【continue】処理をスキップして次の要素に進む

continue文は、繰り返し処理をスキップする際に使用する記述法です。

continueが実行されると、それ以降の処理は行わずに次の要素(繰り返し対象)へ進みます。

for i in range(5):  # 5未満の数値(0~4)をiという変数に保持し、以下の処理を繰り返し実行
    if i == 3:  # iが3の場合、以下の処理を実行
        continue  # for文の処理をスキップする
    print(i)  # iの中身を表示する

= 実行結果 =

0
1
2
4

if文については、上で紹介した『break』にて詳しく説明しています

まとめ

この記事ではfor文の基本の使い方や、繰り返し指定・ループを抜ける方法について解説しました。

for文は、数あるPythonの記述法のなかでも特に使用頻度の高い構文となっています。

for文が使いこなせるようになるとプログラミングの幅が一気に広がるので、しっかり基本を押さえておくようにしましょう。

シェアはこちらから
目次