Pythonループ完全ガイド:for、while、break、continue、enumerate
Pythonループ完全ガイド:for、while、break、continue、enumerate
ループは反復プログラミングの骨格です。条件が満たされるまでコードブロックを繰り返し実行できます。Pythonには2つの主要なループ構造があります:for(イテレータ)とwhile(条件ベース)。
ループとは
ループは一連の文を繰り返し実行します。Pythonでは、コレクションの処理、シーケンス生成、停止基準に達するまでタスクを実行するために使用されます。
forループ (イテレータ)
forループは、リスト、タプル、文字列、範囲などのイテラブルなアイテムをイテレートします。イテラブルが尽きると自動的に停止するため、手動でインデックスを追跡するより安全です。
x = 0
for x in range(2, 7):
print(x)
出力:
2
3
4
5
6
whileループ (条件ベース)
whileループは、与えられたブール式がTrueである限り繰り返します。反復回数が事前にわからない場合に最適です。
x = 0
while x < 4:
print(x)
x += 1
出力:
0
1
2
3
非数値コレクションでのループ
forループは文字列や他のコレクションともシームレスに動作:
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
print(m)
出力:
Jan
Feb
Mar
Apr
May
Jun
ループからの脱出
break文はループを即座に終了させます。条件が満たされたときの早期脱出に有用です。
for x in range(10, 20):
if x == 15:
break
print(x)
出力:
10
11
12
13
14
イテレーションのスキップ
continue文は、現在のイテレーションの残りをスキップし、次のサイクルに進みます。
for x in range(10, 20):
if x % 5 == 0:
continue
print(x)
出力:
11
12
13
14
16
17
18
19
enumerate() でインデックス付きループ
組み込みenumerate()関数はイテラブルにカウンタを追加し、インデックス・値ペアを返します。
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for i, m in enumerate(months):
print(i, m)
出力:
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun
文の複数回繰り返し
数字の文字列やrangeを使ったforループでメッセージを繰り返せます:
for i in '123':
print('guru99', i)
出力:
guru99 1
guru99 2
guru99 3
包括的な例のテーブル
| ループタイプ | コード |
|---|---|
| whileループ | x = 0
while x < 4:
print(x)
x += 1 |
| forループ (数値) | for x in range(2, 7):
print(x) |
| forループ (文字列) | months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
print(m) |
| forループ内のbreak | for x in range(10, 20):
if x == 15:
break
print(x) |
| forループ内のcontinue | for x in range(10, 20):
if x % 5 == 0:
continue
print(x) |
| forループ内のenumerate | months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for i, m in enumerate(months):
print(i, m) |
Python 2互換性
上記例はPython 3構文です。Python 2ではprint()をprint文に、rangeの振る舞いを調整してください。
# whileループ
x = 0
while x < 4:
print x
x += 1
# forループ
for x in range(2, 7):
print x
# 文字列コレクションでのforループ
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
for m in months:
print m
# break例
for x in range(10, 20):
if x == 15:
break
print x
# continue例
for x in range(10, 20):
if x % 5 == 0:
continue
print x
# enumerate例
for i, m in enumerate(months):
print i, m
出力:
0
1
2
3
2
3
4
5
6
Jan
Feb
Mar
Apr
May
Jun
10
11
12
13
14
11
12
13
14
16
17
18
19
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun
より詳細なリファレンスは、公式Pythonチュートリアルの制御フローを参照してください。
Python
- C# while 文と do-while 文をマスターする:構文、例、ベストプラクティス
- C# for ループをマスターする:構文、フロー、実践例
- C# break 文:使い方とタイミングを徹底解説
- C# continue 文をマスターする:ループ反復を効果的にスキップする方法
- C++ break文完全ガイド:ループ脱出の仕組みと実例
- Python 文・インデント・コメント: 明確なガイド
- Python pass文完全マスター: 実践ガイド
- Pythonループ完全ガイド:for、while、break、continue、enumerate
- Python range()関数をマスター:基礎から応用まで
- Python enumerate()をマスター:リスト、タプル、文字列、辞書でインデックス付きループ
- Javaで回文数を判定する:while文とfor文を使ったアルゴリズム