【Python入門】for文で反復処理(for,continue,break,else,values(),items())

Pythonの基礎
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

条件が成立する時に反復処理(イテレーション)をするのにwhileを使った処理をみてきましたが、反復処理が可能(イテラブル)なオブジェクト(文字列、リスト、タプル、辞書など)を使って繰り返し処理をするにはfor文を利用します。

ここではPythonのforループの処理をみていこうと思います。

スポンサーリンク

for-in文でループ処理をする

Pythonでfor文を使ってループ処理のコードを書くには、forの後ろに繰り返し変数を置きます。続けてinキーワードを置いて後ろにリストなどのシーケンスを記入し、末尾にコロン(:)を置きます。その行の下にインデントで字下げして、繰り返し処理をするコードをブロックとして記述します。

形としては次のようになります。

for文を使う前に、一度while文のコードを見ておこうと思います。

while文とfor文

wihleを使ってリストから取り出すコードを書いてみます。

リストの中にガンダムが格納されています(笑)

これを1機ずつwhileを使って取り出しているコードです。Atomで実行するとこうなります。ファイル名はfor.pyにしています。

ガンダムが1機ずつ出撃しているのがわかります(笑)

冗談はこのくらいにしておきましょう。

このwhileを使ったコードをfor文で書いてみるとこうなります。

とてもスッキリした形になりました。変数iを繰り返し変数として用意し、リストから一つずつ取り出してprintで出力という形になっています。

コードを実行するとこうなります。

while文で書いたコードを#でコメントアウトして比較してみることができるようにしてみました。

結果は一緒になっていますね。

今度は文字列をシーケンスとして利用してみます。

対話型シェルで実行してみます。

「python」という文字列を繰り返し変数をsとして、1文字ずつ取り出しているのがわかります。

スポンサーリンク

for文とbreakでループを抜ける

for文でも、whileと同様にbreakを使って途中でループ処理を抜けることができます。

上のコード例を書き換えてみましょう。

文字列がhの時にループから抜ける処理をしています。実行するとこうなります。

途中で処理が中断しているのがわかります。

スポンサーリンク

for文とcontinueで処理をスキップ

同様にcontinueを使って処理をスキップして再度繰り返し処理に戻ることもできます。

同様にコードを書き換えてみるとこうなります。

実行するとこうなります。

指定した文字列hのところだけ処理がスキップされて文字列が1文字ずつ出力されているのがわかります。

スポンサーリンク

for文のelseとbreak

for文もwhileループと同じように、処理が終わったら何か別の処理をする場合にelseと組み合わせることができます。

次のようにelse文を最後に付け加えるだけです。

実行するとこうなります。

モビルスーツを全部取り出した(ループ処理終了)後ろにトランザムが発動(else文以下の処理)しています(笑)

これもbreak文と組み合わせるとどうなるでしょうか。

以下のように書き換えてみます。

実行するとこうなります。

breakでループを抜けると、elseでの処理は実行されていません。このような処理はbreakが実行されなかった場合をelse文でチェックするような時に利用します。

スポンサーリンク

for文と辞書 – values()、items()

辞書型のデータをfor文で処理する場合を見てみましょう。

次のような辞書型データを用意してfor文で処理してみましょう。

コードを実行するとこうなります。

printで出力されているものは、辞書のキーの部分です。このように、辞書型をfor文で処理するとキーが処理されます。

このコードは次のように辞書型データの後に.keys()を使った処理と同じです。

for文で辞書をそのまま使っても、keys()を使っても結果はどちらもキーが取り出されるということになります。

for文と辞書とvalues()

辞書のキーではなく値を反復処理したい場合はvalues()関数を使います。

上のコードを書き換えるとこうなります。辞書.values()で使います。

コードを実行してみましょう。

辞書のキーではなく、値の方が取り出されているのがわかります。

for文と辞書とitems()

キーと値をセットでタプルの形で反復処理する場合はitems()関数を使います。

コードをitems()を使って書き換えるとこうなります。辞書.items()で使います。

コードを実行してみましょう。

タプルの形で出力処理されているのがわかりますね。

このタプルを使ってそれぞれの変数に代入して処理するような作業を次のようなコードで書くことができます。

変数を二つ用意してキーと値をそれぞれ代入する処理です。ピリオドを文末にスペース無しで改行して出力するために、print()関数のendオプションも使っています。

実行するとこうなります。

それぞれキーと値が対応した位置に出力されているのがわかります。

スポンサーリンク

まとめ

Pythonの反復処理にはwhile文以外にもfor文があります。

forに続けて繰り返し変数を用意し、続けてinキーワードを置きます。その後にリストや文字列、辞書などのシーケンスを置き文末にコロンを書きます。インデントしたブロックに処理を記述します。

break文で処理を抜けることができ、continue文で処理をスキップすることができます。else文を使って反復処理終了後の処理を記述したり、break実行のチェックをすることができます。

辞書型をそのままfor文で処理すると、キーが扱われます。keys()を利用することと同じです。

辞書型の値を利用したい場合は、values()関数を使います。キーと値をセットで利用する場合はitems()関数を使ってタプルで抜き出すことができます。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

Pythonの基礎
スポンサーリンク
CodeGraffitiをフォローする

とにかく進め!Pythonプログラミング入門 〜 コードグラフィティ
タイトルとURLをコピーしました