[Python]forでbreakやcontinueを使ってみる

python

Pythonのforループにおけるbreakやcontinueを使う際をまとめます。

Pythonのforによる反復処理

反復処理(ループ)はいわゆるイテレータというもので、リストから要素を1つずつ取り出す際に利用します。

PythonのフレームワークであるDjangoでもよく利用するので利用機会は多いです。

nums = [1,2,3,4]
for num in nums:
    print(num)

=>
1 2 3 4

このようにリストから1つずつ要素を取り出すことができます。

このforはリストに限らず文字列やタプル、辞書、集合など幅広く使用することができます。

words = 'Python'
for word in words:
    print(word)

=>
P
y
t
h
o
n

 

breakによるループ中断

forループは要素を全て取り出すまで実行されますが、途中でbreakを使ってループ処理を抜け出すこともできます。

例えば1~4の整数があるリストで3の数値まででループを抜け出したい場合は以下のようになります。

nums = [1,2,3,4]
for num in nums:
    if num == 4:
        break
    print(num)

=>
1 2 3

ここではif文を使い、numが4の場合はループを抜け出す(break)という処理をしています。

 

continueによるスキップ

次にcontinueを使ってみます。continueはbreakと異なり処理を抜けるのではなく特定の処理を飛ばすことができます。

1~4の整数があるリストで3の場合だけ処理をスキップしてみます。

nums = [1,2,3,4]
for num in nums:
    if num == 3:
        continue
    print(num)
=>
1
2
4

 

breakが呼び出されなかった場合の処理

forループでbreakが呼び出されたか否かをチェックする機能も備わっています。

自身が設定した条件でforループが最後まで実行された否かをチェックすることができます。

nums = [1,2,3,4]
for num in nums:
    if num == 5:
        break
    print(num)

else:
    print('breakは呼び出されませんでした')
=>
1
2
3
4
breakは呼び出されませんでした

リストに5の整数があればforループを抜け出すよう記述していますが、5がないのでbreakは呼び出されず最後まで実行されています。



カテゴリー