【Python】for文(for in)で繰り返し処理を行う!書き方や使い方を徹底解説!

for文(for in)とは繰り返し処理であり、特定の条件が満たされるまで同じ数のコードを何度も実行する事を言います。
ループ処理を使うと、数値や数式などを何回も書かなくて済みますので、非常に便利です。

また、Pythonではfor文で使用できる関数があります。
今回はfor文の使い方についてわかりやすく解説していきます。

for文の書き方

for文の書き方は以下のようになります。

for文はオブジェクトと言うデータの集まりから、データを一つずつ取りだします。
そして取り出したデータを変数に格納しています。
変数には好きな名前を記述することができますので、「conut」や「i」など分かりやすい変数をつけると良いと思います。

基本的な使い方

for文はリスト、タプル、辞書、セット、または文字列の配列を反復するために使用されます。

for文の例1

出力結果

リンゴ
ゴリラ
ラッパ

for文の例2

出力結果



このように一つ文字列から一文字ずつ取り出すこともできます。

処理をスキップをする(continue)

continue文を使用すると、それ以降の処理をスキップし、ブロックの先頭に戻ります。

for文の例1

出力結果

リンゴ
オレンジ

処理を抜ける(break)

breakを使うと、for文の途中で処理を強制的に終了することができます。

出力結果

リンゴ
バナナ

正常終了後の処理(else)

elseを使うと、for文のループが終わりまで実行された後に何らかの処理を行うことができます。

出力結果

リンゴ
バナナ
オレンジ
elseを通って終了

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

一部の要素のみを取り出したい場合は[start:stop]のようにスライスで範囲を指定します。
start, stopには0始まりのインデックスを指定しますが、stopで指定した番号の要素は含まれないので注意してください。

出力結果

B
C
D
E

for文のネスト

ネストされたループは、ループの中にあるのループです。

「内部ループ」は、「外部ループ」の反復ごとに1回実行されます。

出力結果

リンゴ キウイ
リンゴ パイナップル
リンゴ さくらんぼ
バナナ キウイ
バナナ パイナップル
バナナ さくらんぼ
オレンジ キウイ
オレンジ パイナップル
オレンジ さくらんぼ

繰り返し処理で使用できる便利な関数

for文などの繰り返し処理中に使用できる関数があります。その関数を使うことで繰り返し処理をカウントすることができたり、
逆から繰り返し処理を行ったりすることができます。
そのため、繰り返し処理中に使用できる関数を少しだけ紹介します。

インデックス(カウンタ)を取得する(range)

for文では、range関数とを使うことでインデックス(カウンタ)を取得することができます。

range関数について詳しく知りたい場合は【Python】range()関数の使い方を徹底解説!サンプルコード付き!をご参照ください。

出力結果

0
1
2
3
4
5
6
7
8
9
10

要素とインデックスを同時に取得する(enumerate)

enumerate()関数を使うことでリスト(配列)などの要素とインデックス(カウンタ)を同時に取得することができます。

enumerate()関数について詳しく知りたい場合は【Python】enumerate()関数でリストの要素とインデックスを取得!サンプルコード付き!をご参照ください。

出力結果

0 リンゴ
1 バナナ
2 オレンジ

オブジェクトの要素を逆順で取得する(reserved)

reserved()関数を使うことで、オブジェクトの要素を逆順で取得することができます。

for文の例1

出力結果

オレンジ
バナナ
リンゴ

変数とオブジェクトを同時に処理する(zip)

zip()関数を使言うことで、複数のリストなどの要素を複数の変数としてまとめて取得することができます。

zip関数について詳しく知りたい場合は【Python】zip()関数を使って複数のリストを1つにまとめて取得する!サンプルコード付き!をご参照ください。

出力結果

リンゴ 4
バナナ 5
オレンジ 6

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し