Python for continue文の使い方完全ガイド|初心者向け実用例7選

  • 2025年6月18日
  • 2025年6月18日
  • Python
  • 7回
  • 0件

Python for continue文とは何か

continue文の基本概念

continue文は、ループ処理の中で現在の反復処理をスキップし、次の反復処理に進むための制御文です。日本語では「続ける」という意味ですが、プログラミングでは「現在の処理をスキップして次に進む」という意味で使われます。

continue文の特徴は以下の通りです:

  • ループ処理(for文、while文)の中でのみ使用可能
  • continue文以降の処理がスキップされる
  • ループ自体は終了せず、次の反復処理に進む

for文での動作メカニズム

for文でcontinue文が実行されると、以下の流れで処理が進みます:

  1. continue文が実行される
  2. continue文以降の処理がスキップされる
  3. 次のループ要素に進む
  4. ループ処理が継続される

この動作により、特定の条件に合致する要素だけをスキップして、効率的な処理が可能になります。

Python for continue文の基本的な使い方

基本的な書き方

for文でのcontinue文の基本的な書き方は以下の通りです:

for 変数 in リスト:
    if 条件:
        continue
    # 通常の処理
    print(変数)

実行の流れ

具体的な例を見てみましょう:

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

for num in numbers:
    if num == 3:
        continue
    print(f"数字: {num}")

print("処理完了")

実行結果

数字: 1
数字: 2
数字: 4
数字: 5
処理完了

この例では、numが3の場合にcontinue文が実行され、print文がスキップされています。結果として、3だけが出力されていません。

Python for continue文とbreak文の違い

continue文の動作

continue文は現在の反復処理をスキップして、次の反復処理に進みます:

for i in range(5):
    if i == 2:
        continue
    print(f"i = {i}")

実行結果

i = 0
i = 1
i = 3
i = 4

break文の動作

一方、break文はループ処理を完全に終了します:

for i in range(5):
    if i == 2:
        break
    print(f"i = {i}")

実行結果

i = 0
i = 1

使い分けのポイント

制御文 動作 使用場面
continue 現在の反復をスキップして次へ 特定の条件をスキップしたい
break ループを完全に終了 条件に合致したらループを停止したい

Python for continue文の実用例7選

例1: 偶数・奇数の条件分岐

偶数のみを処理し、奇数をスキップする例:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print("偶数のみを処理:")
for num in numbers:
    if num % 2 == 1:  # 奇数の場合
        continue
    print(f"{num}は偶数です")

実行結果

偶数のみを処理:
2は偶数です
4は偶数です
6は偶数です
8は偶数です
10は偶数です

例2: 特定の文字列をスキップ

特定の文字列を含む要素をスキップする例:

fruits = ["apple", "banana", "orange", "skip_me", "grape", "skip_this"]

print("通常の果物のみを処理:")
for fruit in fruits:
    if "skip" in fruit:
        continue
    print(f"果物: {fruit}")

実行結果

通常の果物のみを処理:
果物: apple
果物: banana
果物: orange
果物: grape

例3: 空文字列や不正な値の除外

データ処理で空文字列やNone値をスキップする例:

data = ["Python", "", "Java", None, "JavaScript", "   ", "Go"]

print("有効なデータのみを処理:")
for item in data:
    if not item or (isinstance(item, str) and not item.strip()):
        continue
    print(f"言語: {item}")

実行結果

有効なデータのみを処理:
言語: Python
言語: Java
言語: JavaScript
言語: Go

例4: リストの条件付き処理

成績データから不合格者をスキップして合格者のみを処理する例:

students = [
    {"name": "田中", "score": 85},
    {"name": "佐藤", "score": 45},
    {"name": "山田", "score": 92},
    {"name": "鈴木", "score": 38},
    {"name": "高橋", "score": 76}
]

print("合格者のみを表示(60点以上):")
for student in students:
    if student["score"] < 60:
        continue
    print(f"{student['name']}さん: {student['score']}点 - 合格")

実行結果

合格者のみを表示(60点以上):
田中さん: 85点 - 合格
山田さん: 92点 - 合格
高橋さん: 76点 - 合格

例5: ファイル処理での例外スキップ

ファイル処理でエラーが発生した場合にスキップする例:

import os

filenames = ["test1.txt", "nonexistent.txt", "test2.txt", "another_missing.txt"]

print("存在するファイルのみを処理:")
for filename in filenames:
    if not os.path.exists(filename):
        print(f"ファイル {filename} が見つかりません - スキップ")
        continue
    print(f"ファイル {filename} を処理中...")
    # ここで実際のファイル処理を行う

例6: 数値計算での特定値除外

数値計算でゼロ除算エラーを防ぐ例:

divisors = [2, 0, 4, 0, 8, 10]
dividend = 100

print("ゼロ以外の値で除算:")
for divisor in divisors:
    if divisor == 0:
        print("0による除算はスキップ")
        continue
    result = dividend / divisor
    print(f"{dividend} ÷ {divisor} = {result}")

実行結果

ゼロ以外の値で除算:
100 ÷ 2 = 50.0
0による除算はスキップ
100 ÷ 4 = 25.0
0による除算はスキップ
100 ÷ 8 = 12.5
100 ÷ 10 = 10.0

例7: データ処理での条件分岐

Webスクレイピングやデータ分析で不正なデータをスキップする例:

user_data = [
    {"id": 1, "name": "太郎", "email": "taro@email.com"},
    {"id": 2, "name": "", "email": ""},  # 不正なデータ
    {"id": 3, "name": "花子", "email": "hanako@email.com"},
    {"id": 4, "name": "次郎", "email": "invalid-email"},  # 不正なメール
    {"id": 5, "name": "三郎", "email": "saburo@email.com"}
]

print("有効なユーザーデータのみを処理:")
for user in user_data:
    # 名前が空または@が含まれていないメールアドレスをスキップ
    if not user["name"] or "@" not in user["email"]:
        print(f"ユーザーID {user['id']}: 不正なデータ - スキップ")
        continue
    
    print(f"ユーザーID {user['id']}: {user['name']} ({user['email']})")

実行結果

有効なユーザーデータのみを処理:
ユーザーID 1: 太郎 (taro@email.com)
ユーザーID 2: 不正なデータ - スキップ
ユーザーID 3: 花子 (hanako@email.com)
ユーザーID 4: 不正なデータ - スキップ
ユーザーID 5: 三郎 (saburo@email.com)

Python for continue文でよくあるエラーと対処法

よくある間違い

1. ループ外でのcontinue文使用

# エラー例
if True:
    continue  # SyntaxError: 'continue' not properly in loop

対処法: continue文はループ内でのみ使用可能です。

2. 無限ループの発生

# 危険な例
i = 0
while i < 5:
    if i == 2:
        continue  # iが更新されないため無限ループ
    print(i)
    i += 1

対処法: while文でcontinue文を使用する際は、カウンター変数の更新を忘れないようにしましょう。

エラーの対処法

continue文を使用する際の注意点:

  1. ループ内でのみ使用する
  2. while文では変数の更新を忘れない
  3. continue文の位置に注意する
  4. ネストしたループでの動作を理解する

まとめ

Python for continue文は、ループ処理で特定の条件をスキップする際に非常に便利な制御文です。

重要なポイント

  • continue文は現在の反復をスキップして次の反復に進む
  • break文はループを完全に終了する
  • 実用的な場面:データ処理、エラー処理、条件分岐など
  • ループ内でのみ使用可能

この記事で紹介した7つの実用例を参考に、実際のプログラムでcontinue文を活用してみてください。continue文を適切に使うことで、より読みやすく効率的なコードが書けるようになります。

最新情報をチェックしよう!