【Python】for文による繰り返し処理

Python

Pythonの for 文は、リストやタプル、文字列などのデータを順番に処理するのに便利な機能です。本記事では、for 文の基本的な使い方から、リスト内包表記、ネスト(入れ子)の for 文、enumerate() や zip() との組み合わせまで詳しく説明します。

for文の基本構文

Pythonの for 文の基本構文は次のとおりです。

for 変数 in シーケンス:
    繰り返し処理

シーケンス(リスト、タプル、文字列など)の各要素を 変数 に代入し、ブロック内の処理を繰り返します。

例: リストの要素を順番に表示

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

出力:

Python for

range()を使った数値の繰り返し

range() を使うと、数値を指定して繰り返し処理ができます。

例: 0 から 4 までの数値を表示

for i in range(5):
    print(i)

出力:

Python for

range(start, stop, step) という形式で、開始値、終了値、増分を指定できます。

例: 1 から 10 までの偶数を表示

for i in range(2, 11, 2):
    print(i)

出力:

Python for

for文で文字列を処理

文字列も for 文で1文字ずつ処理ができます。

例:

text = "Python"
for char in text:
    print(char)

出力:

Python for

ネストされたfor文

for 文を入れ子にすると、複数の要素を組み合わせた処理ができます。

例: 掛け算の九九表を表示

for i in range(1, 10):
    for j in range(1, 10):
        print(f"{i} × {j} = {i * j}", end="\t")
    print()

結果:

Python for

enumerate() を使う

enumerate() を使うと、インデックス(要素の番号)付きで処理できます。

例: リストの要素とインデックスを表示

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

出力:

Python for

 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

リスト内包表記を使った簡潔なfor文

リストを作成する際に、リスト内包表記を使うと、シンプルで分かりやすいコードを書けます。

例: リストの各要素を2倍にする

numbers = [1, 2, 3, 4, 5]
doubled = [n * 2 for n in numbers]
print(doubled)

出力:

Python for

例: 偶数のみのリストを作成

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = [n for n in numbers if n % 2 == 0]
print(evens)

出力:

Python for

breakとcontinueを使った制御

break を使うとループを途中で終了し、continue を使うと次の繰り返しへスキップできます。

例: break を使って途中でループを終了

for i in range(10):
    if i == 5:
        break
    print(i)

出力:

Python for

例: continue を使って特定の値をスキップ

for i in range(5):
    if i == 2:
        continue
    print(i)

出力:

Python for

まとめ

本記事では、Pythonの for 文の基本から応用的な使い方まで説明しました。

・for 文はリストや文字列を簡単にループ処理できる
・range() を使えば、数値の繰り返しが可能
・enumerate() を使うとインデックス付きのループができる
・zip() を使うと複数のリストを同時に処理できる
・break や continue でループの制御ができる
・リスト内包表記で簡潔なコードを書ける

Pythonの for 文を使いこなすことで、効率的にデータを処理できるようになります。ぜひ実際にコードを書いて試してみてください!

タイトルとURLをコピーしました