あきぞらです。
Pythonをいじっていて、二重ループの外側を抜けたい場面がありました。
基本的には、外側を抜けたい場合というのは、
書こうとしている処理が悪いか、別の処理で書き換えることができるのですが、
どうしても外側を抜けたいときがあります。
そんなときに対処する方法を今回は紹介していきます。
多重ループの外側を抜けたいとき
例えば、こんな二重ループがあったとします。
for i in range(100): for j in range(50): print(i, j)
ここで、内側のループのなかで何らかの条件に合致したとき、
外側のループも抜けたいときを考えてみます。
フラグ変数を使って多重ループを抜ける
そんなときに、フラグ変数を使って抜け出してみます。
変数flagを用意して、初期値はFalseにしておきます。
そして、内側の処理で何らかの条件に合致した際に、その変数をTrueに変えてあげます。
flag = False for i in range(100): for j in range(50): if j > 30: flag = True break if flag == True: break
内側の何らかの条件に合致したとき、
flagをTrueにしてあげ、Breakして内側を抜けます。
そのあと、IF文でTrueのときに外側のループを抜けるようにしてあげます。
こうすることで、外側のループを抜け出すことができます。