Python break 多重ループから抜け出す方法について解説します!

Python break 多重ループから抜け出す方法について解説します

今回は、Pythonで多重ループからbreak(抜ける)する方法を解説していきます。

目次

多重ループとは

パソコンのキーボード

多重ループとは

まず、最初に多重ループとは、複数のループがネスト(入れ子)になったものを指し、ループを途中で抜けるには、breakキーワードを使います。

(例)二重の多重ループ

list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

for item1 in list1:
  for item2 in list2:
    print("list1=", item1, ", list2=", item2)

# 実行結果:
# list1= a , list2= 1
# list1= a , list2= 2
# list1= a , list2= 3
# list1= b , list2= 1
# list1= b , list2= 2
# list1= b , list2= 3
# list1= c , list2= 1
# list1= c , list2= 2
# list1= c , list2= 3

二重ループ breakでループを抜ける

パソコンのキーボード

二重ループ

breakでループを抜ける

途中でループを抜けるにはbreakキーワードを使います。

(例)list1の値が「’b’」かつlist2の値が「2」のときに二重ループを途中で抜ける場合

list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

for item1 in list1:
  for item2 in list2:
    print("list1=", item1, ", list2=", item2)
    if(item1=='b' and item2==2):
      break
  if(item1=='b'):
    break

# 実行結果:
# a , 1
# a , 2
#  a , 3
#  b , 1
#  b , 2
# BREAK

三重ループ

三重ループも、ネストが深くなっているだけで考え方は同じです。

(例)listを3つ使った三重ループ

list1 = [1, 2, 3]
list2 = [40, 50, 60]
list3 = [700, 800, 900]

flag = False
for i in list1:
    for j in list2:
        for k in list3:
            print(i, j, k)
            if i == 2 and j == 50 and k == 800:
                flag = True
                print('BREAK')
                break
        if flag:
            break
    if flag:
        break

# 実行結果:
# 1 ,40 , 700
# 1 ,40 , 800
# 1 ,40 , 900
# 1 ,50 , 700
# 1 ,50 , 800
# 1 ,50 , 900
# 1 ,60 , 700
# 1 ,60 , 800
# 1 ,60 , 900
# 2 ,40 , 700
# 2 ,40 , 800
# 2 ,40 , 900
# 2 ,50 , 700
# 2 ,50 , 800
# BREAK

else~continueでループを抜ける

パソコンのキーボード

else~continueでループを抜ける

breakでループを抜ける他に、elseとcontinueキーワードを使う方法もあります。

elseの部分は、break以外で通った時に実行され、continueキーワードから後続の処理をスキップしてループの先頭に戻ることができます。

(例)list1の値が「’b’」かつlist2の値が「2」のときに多重ループを途中で抜ける場合

list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

for item1 in list1:
  for item2 in list2:
    print("list1=", item1, ", list2=", item2)
    if(item1 == 'b' and item2 == 2):
      break
  else:
    continue
  break

# 実行結果:
# a , 1
# a , 2
#  a , 3
#  b , 1
#  b , 2
# BREAK

まとめ: Python 多重ループから抜け出す方法

パソコンのキーボード

まとめ: Python 多重ループから抜け出す方法

今回は、Pythonの多重ループから抜け出す方法について解説しました。

  • 多重ループについて
  • 二重ループ breakでループを抜ける書き方
  • 三重ループについて
  • else~continueでループを抜ける書き方
よかったらシェアしてください!
目次