TechReach

Pythonのfor文とは?基本構文と使い方を徹底解説

Pythonのfor文は、リストや文字列などのデータ構造から要素を順番に取り出して処理でき、繰り返し処理を効率的に実装できます。

本記事では、for文の基本的な書き方から、break文やcontinue文を使った制御方法、enumerate()関数や辞書のループまで、実践的な使い方をコード例を交えながら詳しく解説します。

プログラミング初心者の方も理解しやすいよう、段階的にご説明しています。

自分のスキル年収どのくらい? /
予定年収を診断してみる

Pythonのfor文とは

for文は、リスト、タプル、文字列などのデータ構造から要素を順番に取り出して処理をおこなうPythonの命令文です。

例えば、商品リストの在庫数を1つずつ確認したり、顧客の名簿から名前を順番に表示したりする場合に活用できます。

for文を使うと、同じ処理を繰り返すコードがシンプルになり、可読性が向上し修正や保守が容易になります。

なお、for文は、要素数が事前に分かっている場合に適しており、要素数が不明な場合や条件に基づく繰り返しにはwhile文をおすすめします。

for文の基本構文について

Pythonのfor文は、リストや文字列などの要素を順番に処理できる便利な機能です。

基本的な書き方は、下記のとおりです。

for文では、インデントを使って処理範囲を指定します。インデントは半角スペース4つが標準的です。

簡単な例を見てみましょう。

fruits = [‘りんご’, ‘みかん’, ‘バナナ’]

for fruit in fruits:  # リストの要素を1つずつ取り出す

    print(fruit)    # インデントされた行で処理をおこないます。

# 出力:りんご, みかん, バナナ

応用例と出力例

for文はさまざまな場面で活用できます。本項では、各種の例をご紹介します。

文字列に対するfor

文字列を1文字ずつ処理する場合は次のように書きます。

message = “Hello”

for char in message:  # 1文字ずつ処理

    print(char)

# 出力:

# H

# e

# l

# l

# o

複数の変数へ値を取り出し(アンパッキング)

複数の変数を使った処理も可能です。タプルのリストから値を取り出す例を見てみましょう。

items = [(1, ‘A’), (2, ‘B’), (3, ‘C’)]

for number, letter in items:  # 2つの値を同時に取り出す

    print(f’数字: {number}, 文字: {letter}’)

# 出力:

# 数字: 1, 文字: A

# 数字: 2, 文字: B

# 数字: 3, 文字: C

上記の例では、items内の各タプルから、順にnumberとletterへ値を取り出し、ループしています。

forループの中のfor

入れ子になったfor文を使うと、より複雑な処理もおこなえます。九九の計算例を示します。

for i in range(1, 10):  # 1から9まで

    for j in range(1, 10):  # 1から9まで

        print(f'{i} x {j} = {i*j}’)

# 出力:

# 1 x 1 = 1

# 1 x 2 = 2

# (中略)

# 9 x 8 = 72

# 9 x 9 = 81

条件に合う要素を抽出する例

numbers = range(1, 11)  # 1から10までの数値リスト

for number in numbers:

    if number % 2 == 0:  # 偶数かどうかを判定

        print(number)   # 偶数を出力する

# 出力:2, 4, 6, 8, 10

for文のループ構文について

Pythonのfor文には、便利な構文がいくつか用意されています。

代表的な構文を、見ていきましょう。

break文

break文は、ループの処理を途中で終えます。

特定条件が満たされた場合に、以降の繰り返し処理が不要な場合に便利です。

numbers = [1, 2, 3, 4, 5]

for number in numbers:

    if number == 3:

        break  # numberが3になった時点でforループを抜ける

    print(number)

# 出力:1, 2

continue文

continue文は、ループ内の処理をスキップして、次の要素に進みます。

numbers = [1, 2, 3, 4, 5]

for number in numbers:

    if number == 3:

        continue  # numberが3の場合、以降の処理をスキップ

    print(number)

# 出力:1, 2, 4, 5

上記の例では、numbersリストの要素を順番に処理しますが、numberが3になった時点でcontinue文が実行され、print(number)がスキップされます。したがって、3は出力されず、次の4の処理に移ります。

range()

range()関数は、整数の範囲を指定して繰り返し処理をおこなう場合に使用します。

引数として開始値、終了値、ステップ幅を指定できます。

# 5回繰り返し

for i in range(5):  # 0から始め1ずつ増加する整数です。

    print(i)  # 出力:0, 1, 2, 3, 4

# 開始と終了を指定

for i in range(2, 9):  # 2から始め1ずつ増加し、9の手前まで増加します。

    print(i)  # 出力:2, 3, 4, 5, 6, 7, 8

# 開始値、終了値、ステップ幅を指定

for i in range(2, 9, 2):  # 2から8まで2つ飛ばしで表示

    print(i)  # 出力:2, 4, 6, 8

enumerate()

enumerate()関数は、リストや文字列などの要素に対して、インデックス番号と要素を同時に取得できます。開始インデックスも指定可能です。

fruits = [‘りんご’, ‘みかん’, ‘バナナ’]

for index, fruit in enumerate(fruits, start=1):  # 開始インデックスを1に指定

    print(f'{index}番目: {fruit}’)  # 出力:1番目: りんご, 2番目: みかん, 3番目: バナナ

辞書のループ

辞書のループ処理では、items()メソッドを使用してキーと値を同時に取得できます。

scores = {‘国語’: 80, ‘数学’: 75, ‘英語’: 90}

for subject, score in scores.items():

    print(f'{subject}: {score}点’)  # 出力:国語: 80点, 数学: 75点, 英語: 90点

また、keys()メソッドやvalues()メソッドを使用して、キーまたは値のみを取得することも可能です。

for subject in scores.keys():   # キーのみを取得

    print(subject)  # 出力:国語, 数学, 英語

for score in scores.values():   # 値のみを取得

    print(score)  # 出力:80, 75, 90

まとめ

Pythonのfor文は、データ構造から要素を順番に取り出して処理する基本的なループ構文です。

break文やcontinue文、range()関数など、さまざまな制御方法を組み合わせて柔軟な処理を実現できます。今回ご紹介した内容をぜひ実際のコーディングで活用してみてください。

フリーランスの案件をお探しの方はTechReachにご相談ください。

TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。

そのため、高単価・高品質な数多くの案件紹介が可能です。

また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。

TechReachを活用して、理想の案件を見つけましょう!

関連記事

カテゴリ