Pythonでは、break
文を使用してループから脱出することができます。しかし、ネストされたループ(ループの中にループがある状態)の場合、break
文は内側のループからしか脱出できません。
以下に、内部ループからのみ脱出する方法を示します。
item=['I','want','this','output']
i=[1,2,3,4]
for x in i:
for y in item:
print(y)
break
このコードでは、break
文により内部ループが終了し、外部ループが次のイテレーションに移ります。その結果、'I'
が4回出力されます。
しかし、内部ループから脱出した後に次の値から再開するにはどうすればよいでしょうか?そのためには、内部ループのリストをイテレータに変換することができます。
item_iter = iter(item)
for x in i:
for y in item_iter:
print(y)
break
このコードでは、item_iter
はイテレータであり、一度「見た」アイテムは消費され、再度アクセスすることはありません。そのため、次回ループに入ったときに同じ位置から続けることができます。
以上が、Pythonで内部ループからのみ脱出する方法についての説明です。この情報がPythonプログラミングの一助となれば幸いです。