
スポンサーリンク
Pythonのfor
文は、繰り返し処理を簡潔に書ける基本的な構文です。シーケンス(リスト、タプル、文字列など)やイテラブルオブジェクトをループ処理することができます。複数のデータを一括で処理したり、条件によって分岐させたりと、日常的なプログラミングに欠かせない仕組みです。
本記事では、for
文の基本的な使い方から応用例までを詳しく解説します。Pythonのforループの基本的な使い方から、実用的な活用例、さらには初心者がつまずきやすいポイントまでを丁寧に解説します。初心者から上級者まで役立つ内容になっているかと思いますので、是非参考にしてください。
for文の動作フロー
要素を取得
代入
実行
or 終了
【Python】for文の基本的な使い方
リスト、文字列、辞書などの基本的なループ処理
Pythonのfor
ループは、任意の「イテラブル(繰り返し可能なオブジェクト)」を順に処理するために使われます。イテラブルには、リスト、タプル、文字列、辞書、集合、rangeオブジェクトなどが含まれます。
for 変数 in イテラブル: 処理
この基本形を理解しておくことで、あらゆるデータ構造に対して反復処理を行う際の出発点となります。
Pythonのfor
文は、リストや文字列の各要素を順番に処理するために使用されます。
for文でリストの各要素を出力
以下のコードでは、numbersリストの各要素が順番にnumに代入され、print文で出力されます。
numbers = [1, 2, 3, 4, 5]for num in numbers: print(num) # 各要素が順番に出力される
$ Python for-ex.py12345
for文で辞書の各要素を出力
辞書をループ処理する際には、キーと値のペアを取り出すitems()
メソッドを活用します。
person = {'name': 'Alice', 'age': 30}for key, value in person.items(): print(f"{key}: {value}")
$ Python for-ex.pyname: Aliceage: 30
また、キーだけを扱いたいときはkeys()
、値だけを扱いたいときはvalues()
を使うとよいでしょう。
for文で文字列の各文字を出力
以下のコードでは、word文字列の各文字が1文字ずつ出力されます。
word = "Python"for char in word: print(char) # 文字列の各文字が1文字ずつ出力される
$ Python for-ex.pyPython
【Python】for文の応用的な使い方
enumerate(), zip(), リスト内包表記
range()でfor文を一定の回数繰り返す
range()
関数を使うと、一定の回数繰り返し処理を行うことができます。
基本構文
- パターン1:
range(終了)
の形式で指定する
- 省略した開始は0、ステップは1となる
- パターン2:
range(開始, 終了)
の形式で指定する
- 省略したステップは1となる
- パターン3:
range(開始, 終了, ステップ)
の形式で指定する
【パターン1実装例】range()で0から4までの数値を出力
rangeに終了(5)
を指定すると0から4までループ処理します。
for i in range(5): print(i)
0, 1, 2, 3, 4
が順番に出力されます。
$ Python for-ex.py01234
【パターン2実装例】range()で6から10までの数値を出力
rangeに開始(6)
、終了(11)
を指定すると6から10までループ処理します。
for i in range(6, 11): print(i)
6, 7, 8, 9, 10
が順番に出力されます。
$ Python for-ex.py678910
【パターン3実装例】range()で1から10までの偶数を出力
rangeに開始(2)
、終了(11)
、ステップ(2)
を指定して柔軟にループ処理できます。
for i in range(2, 11, 2): print(i) # 2, 4, 6, 8, 10 が順番に出力される
$ Python for-ex.py246810
上記のrange(2, 11, 2)
は、range(開始, 終了, ステップ)
の形式で指定されており、以下のように動作します。
2
: ループの開始値(2から始まる)11
: ループの終了値(11は含まれず、10まで処理される)2
: ステップ(2ずつ増加する)
そのため、2, 4, 6, 8, 10
という偶数のリストが生成されます。
range()でネストされたfor文(九九の出力)
for
文を入れ子(ネスト)にすることで、二重ループを作成できます。
以下は九九の出力をする実装例です。
for i in range(1, 10): for j in range(1, 10): print(f"{i} x {j} = {i * j}") # 各段の掛け算が出力される
$ Python for-ex.py1 x 1 = 1…9 x 9 = 81
enumerate()でインデックス付きループ処理
リストのインデックスと要素を同時に取得するには、enumerate()
関数を使います。
fruits = ["apple", "banana", "cherry"]for index, fruit in enumerate(fruits): print(f"{index}: {fruit}") # インデックスと要素が同時に出力される
$ Python for-ex.py0: apple1: banana2: cherry
zip()で複数リストをループする
複数のリストを同時にループ処理するには、zip()
関数を使います。
names = ["Alice", "Bob", "Charlie"]ages = [25, 30, 35]
for name, age in zip(names, ages): print(f"{name} is {age} years old.") # 各要素が対応する形で出力される
Python for-ex.pyAlice is 25 years old.Bob is 30 years old.Charlie is 35 years old.
リスト内包表記で簡潔にリストを作成
リスト内包表記を使うと、簡潔にリストを作成できます。
0から9までの平方数のリストを作成
squares = [x ** 2 for x in range(10)]print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Python for-ex.py[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
breakとcontinueでループ制御
break, continue, else文でループを制御
breakとcontinueでループ処理を制御できます。
break
: ループを途中で終了するcontinue
: 現在のループの処理をスキップし、次のイテレーションへ進む
5が見つかったらループを終了
for i in range(10): if i == 5: break print(i) # 0, 1, 2, 3, 4 が出力された後、ループが終了する
Python for-ex.py01234
偶数のみを出力
for i in range(10): if i % 2 == 1: continue print(i) # 0, 2, 4, 6, 8 が出力される
$ Python for-ex.py02468
else付きのfor文
for
文にはelse
を付けることができ、ループが正常終了したときに実行されます。
for i in range(3): print(i)else: print("ループが正常終了しました") # 0, 1, 2 が出力された後に実行される
$ Python for-ex.py012ループが正常終了しました
for文使い方まとめ
💡 Tips & Tricks
効率的なコーディングのための便利なテクニック
💡 for文を使いこなすポイント
処理内容に応じてリスト、辞書、range()を使い分ける
大きなデータセットではジェネレータを活用
変数名は処理内容がわかるように命名
例外処理を適切に組み込む
Pythonのfor
文は、リストや文字列の処理、繰り返し回数の制御、複数のリストの同時処理など、さまざまな用途に使えます。break
やcontinue
を適切に活用し、効率的なコードを書きましょう!
また、enumerate()やzip()といった便利な関数を活用することで、より簡潔で読みやすいコードを記述できます。実際の開発で使えるように、ぜひ積極的に試してみてください!
Pythonユーザにお勧めの本
![]() |
スッキリわかるPython入門 第2版
新品価格
|

![]() |
新品価格
|

![]() |
VTuberサプーが教える! Python
新品価格
|

![]() |
Python1年生 第2版
新品価格
|

以上で本記事の解説を終わります。
よいITライフを!