【Python入門】for文の使い方とは?基礎 + 応用的な使い方を解説

Pythonのfor文の使い方がわからない......
使うときに困らないよう、応用的な使い方も知りたいな......

プログラミングをする上で、決められた回数分繰り返し処理を行うことはよくあります。Pythonでは好きな回数のループ処理を行う方法として、for文が用意されています。

この記事では、Pythonのfor文の使い方について解説します。

break文やcontinue文などの応用的な使い方についても解説しているので、ぜひ参考にしてみてくださいね!

※ この記事のコードはPython 3.7で動作確認しました。

Pythonのfor文の書き方

まずはfor文の基本的な書き方を見ておきましょう。

for 変数 in シーケンス:
    繰り返し処理したいコード

Pythonでは他の言語でforeachと呼ばれる書き方が標準のfor文の書き方に相当します。これはシーケンスの各要素をループ毎に頭から取り出して、for文のブロック中で使うことができる書き方です。

シーケンスとは、リストや文字列、タプルなどの複数のデータが順番に並んでいる型のことをいいます。

詳しくはこちらの記事で解説されているのでぜひ見てみましょう!

【Python入門】初心者必見!forループの使い方とその応用
更新日 : 2020年5月21日

Pythonのfor文の基本的な使い方

「5回だけ繰り返し処理をしたい!」のように、指定した回数だけループを使いたい場合はrange関数を使いましょう。

range関数は引数の数字(int型)の回数分だけ数字を返すイテレータになります。

for i in range(5):
    print(i)
0
1
2
3
4

このように5回文繰り返し処理が実行されましたね!

詳しい使い方はこちらの記事をご覧ください!

【Python入門】range関数を使ってリストを作ろう!
更新日 : 2020年5月21日

for文を使いこなすための5つの方法

ここからは、for文を使いこなすための、以下の5つの方法を解説します。

  • break文:処理を途中で中断する
  • continue文:処理を一部スキップする
  • else文:ループ処理の最後に処理を実行する
  • スライス:一部の要素のみを取り出す
  • enumerate関数:値だけでなくインデックスも取り出す


1つずつサンプルコード付きで解説しています。実際にコードを動かしながら、見ていくのがおすすめです!

break文:処理を途中で中断する

処理を途中で中断したい場合は、break文を使います。

if文などで条件を付けて、break文を実行して処理を止めるケースはよくあるので、覚えておきましょう。

サンプルコードをつかって、解説していきますね。

サンプルコード:

list = ("Apple","Orange","Banana","Grape")

for name in list:
    print("リストの値:{0}".format(name))
    if name == "Banana":
        print("バナナが出たので処理終了")
        break

実行結果:

リストの値:Apple
リストの値:Orange
リストの値:Banana
バナナが出たので処理終了

結果を見るとリストの値がBananaになった後、Grapeを出力せず「バナナが出たので処理終了」の文字列が出て処理が終わっていますよね。

これは、if文の条件(nameがBananaの文字列だった場合)に一致した場合の処理に、break文を実行しているからです。

このように、break文を使えば処理を途中で中断できます。

以下でも使い方を詳しく解説しているので、ぜひ参考にしてみてくださいね!

Python超初心者向け!breakとcontinueの基礎の基礎を解説!
更新日 : 2020年5月8日

continue文:処理を一部スキップする

処理をスキップしたい場合は、continue文を使います。

break文と同様、if文で条件を指定して処理をスキップするケースはよくあるので、覚えておくのがおすすめです。

サンプルコードをつかって、解説していきますね。

サンプルコード:

list = (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10)

for name in list:
    if name % 2 == 0:
        print("リストの値:{0}".format(name))
        continue

実行結果:

リストの値:2
リストの値:4
リストの値:6
リストの値:8
リストの値:10

この例では、リストの値が2の倍数だった場合のみ、値を出力する処理を書いています。

continue文で処理を継続しているため、2の倍数になっている値がすべて出力されていますよね。

このように、continue文を使えば処理を途中でスキップできるのです。

else文:ループ処理の最後に処理を実行する

ループ処理の最後に処理を実行したいときは、else文を使います。

正常にループ処理が終わったか確認したい場合に便利なので、覚えておくのがおすすめです。

サンプルコードをつかって、解説していきますね。

サンプルコード:

list = (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10)

for name in list:
    print("リストの値:{0}".format(name))
else:
    print("すべての数値が出力できました!")

実行結果:

リストの値:1
リストの値:2
リストの値:3
リストの値:4
リストの値:5
リストの値:6
リストの値:7
リストの値:8
リストの値:9
リストの値:10
すべての数値が出力できました!

ループ処理がすべて終わった後に、「すべての数値が出力できました!」と文字が表示されていますよね。このように、ループ処理の最後になにか実行したい場合は、else文を使いましょう。

以下でも詳しく解説しているので、ぜひ参考にしてみてくださいね!

【Python入門】for文の後にelseブロックを使う方法
更新日 : 2020年3月9日

スライス:一部の要素のみを取り出す

タプルやリストに入っている値の一部のみループ処理したい場合は、スライスを使います。

「タプルに5つの要素があった場合に、2~4までの要素のみループ処理をしたい」といったケースで便利なので、覚えておくのがおすすめです。

サンプルコードをつかって、解説していきますね。

サンプルコード:

list = ("Apple","Orange","Banana","Grape")

for name in list[1:3]:
    print("リストの値:{0}".format(name))

実行結果:

リストの値:Orange
リストの値:Banana

list[1:3]のようにfor文で指定している部分が、スライスです。指定する番号は、0から始まる値を指定しています。

そして最後に指定した番号の要素(今回の例だと3のGrape)は含まれないので、次のようにOrangeとBananaのみ出力されているのです。


スライスで指定した時の数値のイメージ

要素の中の特定の値のみループ処理を実行したい場合に便利なので、覚えておきましょう。

enumerate関数:値だけでなくインデックスも取り出す

ループ処理するとき、index(インデックス)も取り出したい場合は、enumerate関数を使います。

index(インデックス)とkey(値)に分けて処理を作れるので、覚えておくと便利です。

サンプルコードをつかって、解説していきますね。

サンプルコード:

list = ("Apple","Orange","Banana","Grape")

for index,key in enumerate(list):
    print("インデックス:{0}".format(index))
    print("値:{0}".format(key))
    print("-------------------------")

実行結果:

インデックス:0
値:Apple
-------------------------
インデックス:1
値:Orange
-------------------------
インデックス:2
値:Banana
-------------------------
インデックス:3
値:Grape
-------------------------

このサンプルでは変数index、nameを作り、それぞれインデックスと値を入れて出力しています。

結果では、それぞれの値がループ処理の回数分出力されていますよね。このように、インデックスと値を一緒に扱いたいときに便利です。

特にPythonのfor文では、他のプログラミング言語のように「ループ回数」がそのまま使えません。そのため、「ループの回数に応じて処理を分けたい」といったケースで便利です。

enumerate関数の使い方については、以下でも解説しています。より詳しく知りたい方は、ぜひ参考にしてみてください。

【Python入門】enumerate関数とfor文でindexを取得しよう
更新日 : 2020年5月8日

まとめ

ここでは、Pythonのfor文の使い方について解説しました。

for文のような繰り返し処理は、プログラミングで非常に大切な機能の一つです。サンプルコードを元に、実際に手を動かして確認してみるのがおすすめです。

ぜひ、Pythonのfor文を使いこなせるようになりましょう!

なお、今Pythonを学習している方は以下の記事もどうぞ。

はじめてPythonを使う方でもわかりやすいように、Pythonでできることやその学習法などを中心にまとめています。

復習にも使えると思いますので、ぜひ一度ご覧になってみてくださいね。

Python 入門完全攻略ガイド

「プログラミング、右も左もわからない…」という方にオススメ

cta_under_bnr

当プログラミングスクール「侍エンジニア」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニアは上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

詳細はこちら

書いた人

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー