[Python]forでbreakやcontinueを使ってみる
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は呼び出されず最後まで実行されています。