1. パーソルクロステクノロジーのエンジニア派遣
  2. 求人検索
  3. ITエンジニア
  4. Python「for文」の使い方と書き方・サンプルコード|繰り返し処理・途中終了など応用例も解説

Python「for文」の使い方と書き方・サンプルコード|繰り返し処理・途中終了など応用例も解説

Pythonにおける「for文」は、繰り返し処理(ループ)を行うための基本構文です。このループ処理は、プログラムの自動化やデータ解析、機械学習など、あらゆるシステム開発の基盤となるもので、リストやタプル、文字列などのデータを順番に処理する際に活用されます。

本記事では、Pythonのfor文の基本から応用までをサンプルコードを交えて体系的に解説。プログラミング初心者の方から、Pythonを学び始めたエンジニアまで、幅広く役立つ内容です。

 

Pythonの「for文」とは

Pythonの「for文」とは、シーケンシャルデータ(リスト、タプル、文字列など)やイテレータ(ジェネレータ、辞書など)を対象に、各要素を順番に処理するための構文です。

一般的なプログラミング言語では、C言語やJavaのようにカウンタ変数を用いたforループが主流ですが、Pythonではfor-in構文を用いることで、直感的かつシンプルに反復処理を記述できます。

【for文でできること】

  • リストやタプルの要素を順番に処理する
  • 文字列の各文字を順番に処理する
  • 辞書のキーや値を取得する
  • range() 関数を用いて一定回数の繰り返し処理を行う
  • break を使ってループを途中で終了する
  • continue を使って特定の条件でスキップする
  • else を使ってループが正常終了した後の処理を行う
  • reversed() を使って要素を逆順に処理する
  • zip() を使って複数のリストの要素を同時に処理する
  • enumerate() を使ってリストのインデックスと要素を取得する
  • スライスを使って一部の要素のみを処理する

Pythonのfor文を活用すれば、さまざまなデータ構造を効率よく処理できます。次項からは、for文の基本構文とその使い方について解説します。

 

Pythonの「for文」の使い方・書き方

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

for 変数 in イテラブルオブジェクト:
      # 繰り返し処理
  • 変数:各ループで取得する要素を格納する変数
  • イテラブルオブジェクト:繰り返し処理が可能なデータ(リスト、タプル、文字列、辞書など)
  • 繰り返し処理:ループ内で実行される処理

Pythonのfor文は、特定の回数を繰り返すのではなく、指定したデータの要素数だけループするという特徴があります。これにより、明示的にカウンタ変数を用意する必要がなく、コードを簡潔に記述できます。

【for文を使ったサンプルコード】

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

【出力】

I like apple
I like banana
I like cherry

【処理の説明】

  1. fruitsというリストに、3つの文字列("apple", "banana", "cherry")が格納されている
  2. for fruit in fruits: によって、リストの各要素が順番にfruit変数へ代入
  3. print(f"I like {fruit}") が実行され、リストの要素ごとに出力
  4. ループはfruitsの要素が尽きるまで(つまり3回)繰り返される

 

range ()関数を使って繰り返し処理させる

Pythonでは、数値の範囲を指定してループを実行したい場合に、range()関数を使用します。

for i in range(開始値, 終了値, ステップ):
    # 繰り返し処理
  
  • 開始値(デフォルト:0):ループの開始位置
  • 終了値(必須):ループの終了位置(この値は含まれない)
  • ステップ(デフォルト:1):ループの増加量

【range関数を使ったサンプルコード】

for i in range(1, 6):
    print(f"Step {i}")

【出力】

Step 1
Step 2
Step 3
Step 4
Step 5

【処理の説明】

  1. range(1, 6) によって、1から5までの数値が生成される(終了値6は含まれない)
  2. for i in range(1, 6): により、変数iに1から5までの値が順番に代入
  3. print(f"Step {i}") が実行され、それぞれのiの値とともに出力
  4. ループは5回実行され、すべての値を出力した後に終了する

 

break:for文を使って途中終了させる

break文を使用すると、ループの途中で処理を強制終了できます。

【break: for文を使ったサンプルコード】

for num in range(1, 10):
    if num == 5:
        print("Breaking loop")
        break
    print(num)

【出力】

1
2
3
4
Breaking loop

【処理の説明】

  1. range(1, 10) により、1から9までの数値が生成される
  2. if num == 5: の条件が満たされた場合、breakが実行され、ループが強制終了する
  3. 1から4までは通常通り出力され、5に到達するとループが終了する

 

continueを使って処理を飛ばす

continueを使用すると、条件を満たした場合にその回の処理をスキップし、次のループに移ります。

【continueを使ったサンプルコード】

for num in range(1, 6):
    if num == 3:
        print("Skipping 3")
        continue
    print(num)

【出力】

1
2
Skipping 3
4
5

【処理の説明】

  1. range(1, 6) によって1から5までの数値が生成される
  2. if num == 3: の条件が満たされた場合、continueが実行され、その回の処理がスキップされる
  3. 3のときは出力されず、「Skipping 3」と表示され、次のループへ進む

 

elseを使って繰り返し終了後の処理を指定する

forループにはelseブロックを追加でき、ループが正常終了した場合に実行されます。

【elseを使ったサンプルコード】

for num in range(1, 4):
    print(num)
else:
    print("Loop completed successfully")

【出力】

1
2
3
Loop completed successfully

【処理の説明】

  1. range(1, 4) により、1から3までの数値が生成される
  2. ループがすべて実行された後、elseブロックの処理が実行される
  3. breakが実行されなかったため、Loop completed successfullyが表示される

 

reversedを使って後ろの要素から順に取得する

Pythonでは、reversed() 関数を使うことで、リストやタプルなどの要素を逆順に取得できます。通常のforループではリストの先頭から処理が行われますが、reversed() を使うことで、後ろの要素から順に処理を行うことが可能です。

【reversedを使ったサンプルコード】

numbers = [1, 2, 3, 4, 5]
for num in reversed(numbers):
    print(num)

【出力】

5
4
3
2
1

【処理の説明】

  1. numbers というリストに [1, 2, 3, 4, 5] を格納
  2. reversed(numbers) により、リストを逆順で取得
  3. for num in reversed(numbers): によって、リストの最後の要素から順番に num に格納し、ループを実行
  4. 1回目のループでは num = 5 となり出力、2回目は num = 4、と続き、最終的に 1 まで処理される

 

zip()関数を使って複数のリストの要素を取得する

zip() 関数を用いることで、複数のリスト(またはタプル)を同時に処理することが可能です。たとえば名前とスコアのリストがある場合、それらをペアとして処理できます。

【zip()関数を使ったサンプルコード】

names = ["Alice", "Bob", "Charlie"]
scores = [85, 90, 78]

for name, score in zip(names, scores):
    print(f"{name}: {score}")

【出力】

Alice: 85
Bob: 90
Charlie: 78

【処理の説明】

  1. names リストに "Alice", "Bob", "Charlie" を格納
  2. scores リストに 85, 90, 78 を格納
  3. zip(names, scores) により、それぞれのリストの要素が対応する形でペアになる
  4. for name, score in zip(names, scores): によって、各要素を取得し、print() で出力

 

enumerate関数を使って要素とインデックスを取得する

enumerate() を使用すると、リストの要素に加えて、インデックス(番号) も同時に取得できます。

【enumerate関数を使ったサンプルコード】

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

【出力】

0: apple
1: banana
2: cherry

【処理の説明】

  1. items リストに "apple", "banana", "cherry" を格納
  2. enumerate(items) により、各要素とともにインデックス(0から始まる番号)が生成される
  3. for index, item in enumerate(items): により、index に番号、item に要素が格納される
  4. print(f"{index}: {item}") でインデックスと要素を出力

 

スライスを使って一部の要素のみを取り出す

Pythonのスライス機能を活用すると、リストの一部の要素のみを取得できます。スライスはリスト[start:stop:step] の形式で指定し、特定範囲のデータを簡単に抽出することが可能です。

【スライスを使ったサンプルコード】

colors = ["red", "blue", "green", "yellow", "purple"]
for color in colors[1:4]:  # インデックス1から3の要素を取得
    print(color)

【出力】

blue
green
yellow

【処理の説明】

  1. colors リストに "red", "blue", "green", "yellow", "purple" を格納
  2. colors[1:4] により、インデックス 1 から 3(4 は含まない)までの要素を抽出
  3. for color in colors[1:4]: によって、選択された要素を順に取得し、print(color) で出力

 

まとめ
  • Pythonの「for文」はリストやタプル、文字列などのデータを順番に処理するために使用される
  • range() を使うことで一定回数のループを実行できる
  • break を使うと条件を満たした際にループを途中で終了できる
  • continue を使うと特定の条件のときにその回の処理をスキップできる
  • else を併用するとループが正常終了した際に追加の処理を実行できる
  • reversed() を使うとリストの要素を後ろから順に処理できる
  • zip() を使うと複数のリストの要素を同時に取得しながら処理できる
  • enumerate() を使うとインデックスと要素を同時に取得してループ処理ができる

 

 

\ SNSでシェアしよう! /

【はたラボ】派遣のニュース・仕事情報・業界イロハ|派遣会社・人材派遣求人ならパーソルクロステクノロジー |IT・Web・機電の派遣求人ならパーソルクロステクノロジーのエンジニア派遣の 注目記事を受け取ろう

この記事が気に入ったら
いいね!しよう

【はたラボ】派遣のニュース・仕事情報・業界イロハ|派遣会社・人材派遣求人ならパーソルクロステクノロジー |IT・Web・機電の派遣求人ならパーソルクロステクノロジーのエンジニア派遣の人気記事をお届けします。

関連記事

  • マイクロサービスとは?コンテナ・APIとの違いやメリット・デメリットをわかりやすく解説

  • マルチモーダルAIとは?生成AIなど実用例とシングルモーダルAIとの違いを解説

  • セキュアブートを有効化・無効化する方法【Windows11・Windows 10】

  • コンテナ化とは?メリット・デメリットや仮想マシンとの違いをわかりやすく解説

  • DevSecOpsとは?導入メリットからツール・開発・運用工程までをわかりやすく解説

  • CI/CDとは?自動化によるメリットと代表的なツール一覧・特徴比較

PAGE TOP