Pythonの for 文は、リストやタプル、文字列などのデータを順番に処理するのに便利な機能です。本記事では、for 文の基本的な使い方から、リスト内包表記、ネスト(入れ子)の for 文、enumerate() や zip() との組み合わせまで詳しく説明します。
for文の基本構文
Pythonの for 文の基本構文は次のとおりです。
for 変数 in シーケンス:
繰り返し処理
シーケンス(リスト、タプル、文字列など)の各要素を 変数 に代入し、ブロック内の処理を繰り返します。
例: リストの要素を順番に表示
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
出力:
range()を使った数値の繰り返し
range() を使うと、数値を指定して繰り返し処理ができます。
例: 0 から 4 までの数値を表示
for i in range(5):
print(i)
出力:
range(start, stop, step) という形式で、開始値、終了値、増分を指定できます。
例: 1 から 10 までの偶数を表示
for i in range(2, 11, 2):
print(i)
出力:
for文で文字列を処理
文字列も for 文で1文字ずつ処理ができます。
例:
text = "Python"
for char in text:
print(char)
出力:
ネストされたfor文
for 文を入れ子にすると、複数の要素を組み合わせた処理ができます。
例: 掛け算の九九表を表示
for i in range(1, 10):
for j in range(1, 10):
print(f"{i} × {j} = {i * j}", end="\t")
print()
結果:
enumerate() を使う
enumerate() を使うと、インデックス(要素の番号)付きで処理できます。
例: リストの要素とインデックスを表示
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
出力:
zip() を使って複数のリストを同時に処理
zip() を使うと、複数のリストの要素を同時に処理できます。
例: 名前と年齢を組み合わせて表示
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old.")
出力:
リスト内包表記を使った簡潔なfor文
リストを作成する際に、リスト内包表記を使うと、シンプルで分かりやすいコードを書けます。
例: リストの各要素を2倍にする
numbers = [1, 2, 3, 4, 5]
doubled = [n * 2 for n in numbers]
print(doubled)
出力:
例: 偶数のみのリストを作成
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
出力:
breakとcontinueを使った制御
break を使うとループを途中で終了し、continue を使うと次の繰り返しへスキップできます。
例: break を使って途中でループを終了
for i in range(10):
if i == 5:
break
print(i)
出力:
例: continue を使って特定の値をスキップ
for i in range(5):
if i == 2:
continue
print(i)
出力:
まとめ
本記事では、Pythonの for 文の基本から応用的な使い方まで説明しました。
・for 文はリストや文字列を簡単にループ処理できる
・range() を使えば、数値の繰り返しが可能
・enumerate() を使うとインデックス付きのループができる
・zip() を使うと複数のリストを同時に処理できる
・break や continue でループの制御ができる
・リスト内包表記で簡潔なコードを書ける
Pythonの for 文を使いこなすことで、効率的にデータを処理できるようになります。ぜひ実際にコードを書いて試してみてください!