Pythonでfor文を使って、処理を繰り返す方法について書いています。
最初にfor文の説明を簡単にして、実際のコードを元に解説しています。
for文の処理をスキップするcontinueや、処理を抜けるbreakについても記載しています。
載せているコードはPythonのバージョン3.9.12で確認しました。
公式ドキュメントのチュートリアルにはこの辺に記載があります。
Pythonのfor文とは?どう書く?
for文を使うと、繰り返し処理をすることが可能です。
Pythonでのfor文は下記のように記述します。
fruits = ['apple', 'greap', 'orange', 'lemon', 'banana']
for fruit in fruits:
print(fruit)
for文の左側には繰り返し要素がひとつずつループで入ります。
inを挟んで、右側にはリストなど、繰り返す要素を指定します。
for文の終わりにはコロン(:
)を書きます。
for文の配下のコードブロックが繰り返し処理されます。
上記のコードの場合だと、最初に果物のリスト(fruits)を作成しています。
リストをfor文に指定して、リストの要素が存在する間ループ処理を行います。
左側のfruit変数にひとつずつ要素が入ってきます。
5個の要素があるので、5回繰り返されます。
処理結果としては、下記のように全ての要素が出力されます。
apple
greap
orange
lemon
banana
数値の範囲で繰り返したい場合はどうする?
数値の範囲で繰り返したい場合はrange関数を使用します。
range関数には繰り返す回数を渡します。
例えば、下記のように使います。
for number in range(10):
print(number)
このように書くと、10回繰り返されます。
要素番号は0からになるので、0から9の値がnumberに入って出力されます。
数値の範囲の開始番号を指定するには?
指定した数から、繰り返す場合は引数を2つ渡します。
for number in range(5, 10):
print(number)
このように書くと、5から9までの間繰り返されます。
0から数えるので、最後が9になるというところには注意が必要です。
出力結果は5から始まって、下記のようになります。
5
6
7
8
9
数値の範囲でのステップ値を変えるには?
上記までのコードで、range関数を使用した場合は1ずつカウントが上がっていくことが確認できました。
このステップ値を変えるには、range関数の3番目の引数を使用します。
for number in range(1, 12, 2):
print(number)
このようにコードを書くと、ステップ値が2つずつ変わるようになります。
1の次は3、その次は5…といった感じです。
結果として、下記のような出力になります。
1
3
5
7
9
11
for文をスキップするcontinueについて
for文でループしている途中で、処理をスキップして次に進めることができます。
処理をスキップするときにはcontinueを使います。
例えば、下記のように使います。
for number in range(0, 10):
if number == 4 or number == 6:
continue
print(number)
0から9の間、処理を繰り返します。
numberが4または6の場合にcontinueします。
continueすると、その後の処理をスキップして、次のステップに進みます。
なので「1, 2, 3…」と進んで、4なのでスキップします。
その後に6もスキップするので、上記のコードはこのように出力されます。
0
1
2
3
5
7
8
9
for文を抜けるbreakについて
ループしている途中で、処理を抜けるにはbreakを使います。
forの中でbreakしたときには、その瞬間にforを抜けます。
例えば、下記のようにします。
for number in range(0, 10):
if number == 4:
break
print(number)
上記のコードでは、0から9の10回繰り返します。
4のときにbreakして処理を抜けます。
そのため、このコードの出力結果は下記のようになります。
3まで出力されて、breakで処理を抜けて終わりです。
0
1
2
3
コメント