Pythonのforループの使い方 繰り返し処理の解説

python forによる繰り返し処理についてまとめています。

pythonのforの構文/繰返し処理を行う

pythonのループ処理は、for文を使います。以下、linux(Ubuntu)で実行するサンプルです。

#!/usr/bin/python3

print( "# 3回ループ" )
cnt=3
for i in range(0,cnt):
print( i )

print( "# 5回ループ" )
cnt=5
for i in range(0,cnt):
print( i )
# 変数iが2のときにループ終了
if( i == 2 ):
break
else:
continue
print( "no exec" )
print( "# 0回ループ" )
cnt=0
for i in range(0,cnt):
print( i )
# 一度もループしなかったときに実行
else:
print( "no loop" )

上記にsample1.pyという名前をつけてファイルに保存します。

chmod +x で実行権限を与えて実行。

% chmod +x ./sample1.py

実行すると、こうなります。

/sample1.py
# 3回ループ
0
1
2
# 5回ループ
0
1
2
# 0回ループ
no loop

pythonのfor:break ループ途中でループを終了する

pythonのfor:break ループ途中でループを終了する
forループ内でbreakを実行すると、ループ途中でループを抜けます。

print( "# 5回ループ" )
cnt=5
for i in range(0,cnt):
print( i )
# 変数iが2のときにループ終了
if( i == 2 ):
break
else:
continue
print( "no exec" )

上記のサンプルでは、ループ変数iが2のときにループを終了します。

pythonのfor:continue 以降のforループ内処理をおこなわず、ループ先頭に戻る

pythonのfor:continue 以降のforループ内処理をおこなわず、ループ先頭に戻る
上記のサンプルで、ループ変数iが2以外のとき、ループ先頭に戻って次の処理を実行します。

else:
    continue

 

サンプル中のprint( “no exec” ) は実行されません。

pythonのfor:else 一度もループを実行しなかったときに実行

pythonのfor:else 一度もループを実行しなかったときに実行

print( "# 0回ループ" )
cnt=0
for i in range(0,cnt):
print( i )
# 一度もループしなかったときに実行
else:
print( "no loop" )

for文に対するelseは、一度もループを実行しなかった場合に実行される処理です。

上記の例では、cnt=0に設定しているので、range(0,cnt)の出力は空となり、forループが実行されません。その場合、else部分のみが実行されます。

# 0回ループ
no loop

python for/範囲指定(range)でループする方法

python for/範囲指定(range)でループする方法
pythonでは、for文とrange関数を組み合わせて範囲指定でループを行います。

range(0,10)という指定で、0から始まり10未満の数値を生成(0~9)し、その回数だけループします。

 for i in range(0,10):
print( i )

0
1
2
3
4
5
6
7
8
9

python ~ for in/配列の数だけループする方法

python ~ for in/配列の数だけループする方法
pythonでは、inと配列を組み合わせて、配列の数だけループをおこなう事が可能です。

関連 Python 配列 値の初期化や要素の操作方法

item = ['a', 'b', 'c', 'd', 'e']
for i in item:
print( i )
a
b
c
d
e

上記は、itemというリストの値の数だけループし、ループ変数iの値を表示します。

配列の中身を読み出したり、加工したりする処理で重宝します。

python forのまとめ

python forのまとめ

  • forはpythonの繰り返し処理をおこなう文
  • forとrangeを組み合わせて、指定回数分のループが可能
  • forとin、配列を組み合わせて、配列の値を取り出しながら値の数だけループが可能