【Python】for文を使った繰り返し処理の基本を簡単に紹介

PC関連

Pythonで繰り返し処理を実現する方法として「for文」と「while文」がありますが、初心者の方には少し複雑に思えるかもしれません。

そこで今回は、初心者の方にもわかるように、Pythonでのfor文の使い方を簡単に紹介します。

※while文の使い方について知りたい方は、以下のエントリを参考にしてください。

【Python】while文を使った繰り返し処理の基本を簡単に紹介
 Pythonで繰り返し処理を実現する方法として「for文」と「while文」がありますが、初心者の方には少し複雑に思えるかもしれません。  そこで今回は、初心者の方にもわかるように、Pythonでのwhile文の使い方を簡単...
スポンサーリンク

for文の基本的な使い方

まずはfor文の基本的な使い方を紹介します。例として、0から4までの数字を順番に出力するサンプルプログラムをみてみましょう。

◆サンプルプログラム:

for i in range(5):
    print(i)
print('end')

◆実行結果:

0
1
2
3
4
end

このサンプルプログラムでは、「range関数」を使って5回処理を繰り返すことを宣言しています。そして、iの値を0から順番にインクリメントしながら繰り返し処理を実行しています。

for文で繰り返し処理が実行されるのは、for文の下にある同じ数の空白でインデントされた行だけです。そのため、このサンプルプログラムでは「print(i)」が繰り返し実行されます。

実行結果をみると、0から4までの数字が順番に出力されていますよね。その後、「for文」から抜け出して、次の処理である「print(‘end’)」が実行されています。

次のサンプルプログラムのように、iを使って計算することもできます。

◆サンプルプログラム:

for i in range(5):
    print(i*2)

◆実行結果:

0
2
4
6
8

iの値が2倍されて出力されましたね。

では、次にNumpyの配列(ndarray)に入力した文字列を順番に取り出す方法について紹介します。次のサンプルプログラムをみてください。

◆サンプルプログラム:

import numpy as np

name = np.array(['Alice', 'Jack', 'Harry'])

for i in name:
    print(i)

◆実行結果:

Alice
Jack
Harry

これまで「range関数」を使って繰り返し回数を指定してきましたが、ndarrayなどの配列を指定すると、配列の数だけ繰り返し処理を実行してくれます。便利ですね。

※Numpyについて知りたい方は、以下のエントリを参考にしてください。

【Python】数値計算に役立つライブラリNumPyの導入方法と使い方を紹介
Pythonを使って機械学習をはじめると、膨大な量の数値計算をする必要に迫られるため、計算を効率的に行うモジュール「NumPy」を使うことが多くなります。 NumPyは、機械学習で必須となるベクトルや行列などの多次元配列のデータを簡単...
スポンサーリンク

for文の中断とスキップ(break, continue)

先ほどのfor文では数字や文字列を順番に出力していましたが、途中でfor文を止めたり、処理をスキップしたい場合があります。

まずは、for文から抜け出す方法を紹介します。次のサンプルプログラムのように「break」を使えばfor文から抜け出すことができます。

◆サンプルプログラム:

for i in range(100):
    if i == 5:
        print('break! i=' + str(i))
        break
    print(i)

◆実行結果:

0
1
2
3
4
break! i=5

本来であれば100回繰り返される処理が、if文の条件が成立したとき(この場合はiの値が5になった場合)に、for文からbreakで抜け出していることがわかりますよね。

※if文の使い方について知りたい方は、以下のエントリを参考にしてください。

【Python】if文を使った条件分岐の基本を簡単に紹介
Pythonで条件分岐をする場合、「if文」を使うことになりますが、初心者の方には少し複雑に思えるかもしれません。 そこで今回は、初心者の方にもわかるように、Pythonでのif文の使い方を簡単に紹介します。 if文の基本的な使...

では次に、処理をスキップする方法を紹介します。次のサンプルプログラムのように「continue」を使えばcontinueより下にある処理をスキップすることができます。

◆サンプルプログラム:

for i in range(100):
    if i == 3:
        continue
    if i == 5:
        print('break! i=' + str(i))
        break
    print(i)

◆実行結果:

0
1
2
4
break! i=5

iの値が3になった場合に、continueより下の処理がスキップされましたね。

スポンサーリンク

for-else文

breakで抜けることなくfor文の処理が終わった場合にだけ、ある処理を実行したいことがあります。そんなときに便利なのが「for-else文」です。

たとえば、次のサンプルプログラムをみてください。

◆サンプルプログラム:

for i in range(5):
    print(i)
else:
    print('else!!')

◆実行結果:

0
1
2
3
4
else!!

for文の終了後にelseの処理が実行されていますよね。では、次のサンプルプログラムのようにbreakでfor文を抜けた場合はどうでしょうか。

◆サンプルプログラム:

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print('else!!')

◆実行結果:

0
1
2

elseの処理が実行されなくなりました。このように、breakすることなくfor文の処理が終了した場合にのみ実行したい処理がある場合は、「for-else文」を使うと便利です。

最後に

今回は、Pythonの「for文」について簡単に紹介してきました。初心者の方には少し複雑に思える構文ですが、慣れると便利なので、ぜひ覚えておいてください。

コメント

タイトルとURLをコピーしました