1. はじめに
Pythonのfor文は、繰り返し処理を簡潔に書ける強力な構文です。データの一括処理、リストの走査、条件付きの繰り返しなど、さまざまな場面で活躍します。この記事では、Python|for文の使い方とループ処理の基本と応用例というテーマのもと、初心者から中級者まで役立つ情報をわかりやすく解説します。
for文の基本構文から、range()との組み合わせ、ネストやbreak文の活用法まで幅広く紹介し、実務や日常的なプログラミングで使える知識を習得しましょう。
2. Pythonのfor文の基本構文と使い方
for文とは?
Pythonのfor文は、「反復可能なオブジェクト(リスト、タプル、文字列など)」を順番に処理するための構文です。他の言語にあるような「カウンタ付きfor文(for(int i=0; i<n; i++))」とは異なり、Pythonではより直感的に書けます。
基本的なfor文の構文
構文は以下の通りです:
for 変数 in イテラブルオブジェクト:
実行する処理
使用例:
# リスト内の要素を1つずつ出力
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
print(fruit)
出力結果:
apple
banana
orange
range()を使った繰り返し
指定した回数だけ繰り返す場合には、range()
関数を使います。
# 0〜4まで繰り返し
for i in range(5):
print(i)
出力結果:
0
1
2
3
4
3. Pythonのfor文|よくある使い方と応用例
リスト内包表記との組み合わせ
for文は「リスト内包表記」と組み合わせることで、簡潔にリストを生成できます。
# 0〜9までの偶数だけのリストを作る
even_numbers = [i for i in range(10) if i % 2 == 0]
print(even_numbers)
出力結果:
[0, 2, 4, 6, 8]
ネスト(入れ子)のfor文
for文の中にfor文を書くことで、二次元配列なども処理可能です。
# 二次元リストの各要素を表示
matrix = [[1, 2], [3, 4], [5, 6]]
for row in matrix:
for item in row:
print(item)
出力結果:
1
2
3
4
5
6
辞書(dict)のキーと値をfor文で処理
# 辞書のキーと値をループ
user = {"name": "yamada", "age": 25, "country": "Japan"}
for key, value in user.items():
print(f"{key}: {value}")
出力結果:
name: yamada
age: 25
country: Japan
4. Python for文の注意点・エラー対策
リストを変更しながらループするときの注意
リストの要素を削除・追加しながらfor文でループすると、意図しない動作になります。新しいリストを作って対応しましょう。
# NG例(リストを直接変更)
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num % 2 == 0:
numbers.remove(num)
print(numbers) # 意図しない結果になることがある
正しいやり方:新しいリストを使う
# OK例(新しいリストを作る)
numbers = [1, 2, 3, 4, 5]
new_numbers = [num for num in numbers if num % 2 != 0]
print(new_numbers) # [1, 3, 5]
無限ループに注意(whileとの混同)
Pythonのfor文では基本的に「無限ループ」にはなりませんが、range()
の引数ミスなどにより予想以上の繰り返しが発生することがあります。範囲を明示し、printで中身をチェックしながら書きましょう。
5. まとめ
- Pythonのfor文は繰り返し処理を簡潔に記述できる便利な構文
- リスト・文字列・辞書など様々なデータ型で使える
- range(), 内包表記、ネストなどで柔軟な処理が可能
- リストの変更を伴う処理には注意が必要
実務でも、データの一括処理や集計、条件による振り分けなど、多くの場面でfor文が使われています。基本をしっかり身につければ、今後の学習や開発で非常に役立つでしょう。
学習のコツ: 短いコードを何度も書いて、「変数がどう動いているか」を手で確認することが理解への近道です!