【初心者向け】Python3のfor文の使い方まとめ

スポンサーリンク
Python
スポンサーリンク

Python3で色々な処理をしたりしてましたが、実はこれまで体系的な文法知識の整理をしていませんでした。新年度になって職場に新しい人も入ってきたので、私も心機一転し基礎的な所からおさらいしてみようと思います。

スポンサーリンク

Python3におけるfor文の基本文法

Pythonのfor文は、シーケンス型のオブジェクト(*1)に対して反復処理が行われます。反復処理の順番はシーケンス型オブジェクトの要素の並び順のとおりです。

(*1)リスト、タプル、文字列、rangeオブジェクト

具体的には以下の様になります。

for 変数 in シーケンス型オブジェクト:
    繰り返し行う処理

リストに対するforループ

リストの各要素を変数eに読み出して、一つずつ処理を行うイメージです。

for e in ['blue','yellow','red']:
    print(e)

blue
yellow
red

タプルに対するforループ

リスト(‘[]’)だけでなくタプル(‘()’)でも同様に扱えます。

for e in ('blue','yellow','red'):
    print(e)

blue
yellow
red

文字列に対するforループ

文字列を一文字ずつ変数eに読み出して個別に処理します。

for e in 'blue,yellow,red':
    print(e)

b
l
u
e
,
y
e
l
l
o
w
,
r
e
d

rangeオブジェクトに対するforループ

rangeオブジェクトに対するforループは以下のような形になります。

for e in range(5):
    print(e)
0
1
2
3
4
for e in range(1,5):
    print(e)
1
2
3
4
for e in range(1,10,2):
    print(e)
1
3
5
7
9

continueとbreak

continueとbreakはC言語と同様の動きをします。

  • continue・・・このループの処理をスキップし、次のループの処理を先頭から実施する
  • break・・・一番内側のループを抜ける(以降のループの処理は行わない)

forループ中にcontinue文がある場合の動作例は以下のとおりです。

for e in range(5):
    if e == 2:
        continue
    print(e)
0
1
3
4

forループ中にbreak文がある場合の動作例は以下のとおりです。

for e in range(5):
    if e == 2:
        break
    print(e)
0
1

forループの中のelse節

これは、改めて勉強するまで知らなかったのですが、forループにもelse節を持たせることが出来ます。forループの中のelse節はforループの最後に一回だけ実行したい処理を記述することが出来ます。

for 変数 in シーケンス型オブジェクト:
    繰り返し行う処理
else:
    ループの最後に行う処理
for e in range(5):
    print(e)
else:
    print("End!")
0
1
2
3
4
End!

なお、break文でforループを終了した時はelse節の処理は実行されません。

for e in range(5):
    if e == 2:
        break
    print(e)
else:
    print("End!")
0
1

まとめ

Python3のfor文について簡単にまとめると以下の様になるかと思います。

  • Pythonのfor文はシーケンス型のオブジェクトと併せて使用する
  • シーケンス型のオブジェクトにはリスト、タプル、文字列、rangeオブジェクトがある
  • continue文でループを一回スキップ、break文でループを抜けることができる
  • forループのelse節には最後に一回だけ実行したい処理を書く。ただし、breakでforループを抜けた時は実行されない

コメント