【python】for〜else文の有効な使い方を解説します【わかりやすく】

python

pythonのfor〜else文の使い方を調べる人

pythonのfor〜else文の使い方を調べる人
「pythonのfor〜else文はどのような時に使うと効果的ですか?python以外ではあんまり見たことのない構文ですね。具体的な使用例としてコピペできるソースコードも欲しいです。」

こんな疑問を解決します。

結論

for〜else文は、break文と合わせて使います。breakしなかった場合のみ、else句が実行されるからです。

for〜else文はどういう時に使う?

一般的な言語では、for文中でbreakしたか、していないかを判定するためには、①break判定用のフラグを作り、②判定処理を記述しなくてはなりません。しかしpythonではこれがif〜break〜else文によってスマートに代替可能です。

具体例

for文中に’宝物’を見つけたらbreakする例を示します。見つからなかったらelse句を実行します。

 
実行結果は以下の通りです。

 
最初の行のlistから’宝物’を除いたプログラムとその実行結果は以下の通りです。

for〜elseの構文

for〜else文の使い方

for〜else文の構文は以下の通りです。

for 《変数》 in 《イテレータ (list,tuple,set,dictなど) 》:
《繰り返し処理(breakを含む)》
else:
《後処理》

本記事の内容

  • 1.結論(解説済み)
  • 2.for〜elseの構文(解説済み)
  • 3.for〜else文中にbreakが無いとどうなるか

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、pythonでfor〜else文による繰り返し処理を実装する方法について解説します。私はこれまでC/C++,Java,Cobol,SML,Ocamlなど様々な言語を扱ってきましたが、for〜else文はpython独自のユニークな構文です。

for〜else文を用いた具体例を示し、細かい構文に迷ったときにコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。

for〜else文中にbreakが無いとどうなるか

for〜else文中にbreakが無い例を示します。

 
エラーにならず処理はできるのですが、forループが終わると必ずelse句を実行しますので、実はelse句を定義する意味がありません。ですから、if〜break〜elseというイディオムで理解しておけばOKです。

今回は以上です。if〜break〜elseの使い方について解説しました。

本記事の内容がプログラミングする際の参考になりましたら幸いです。