<一覧に戻る

繰り返しのスキップ(continue)

Pythonで繰り返し処理(ループ)を書いていると、ある条件のときだけ処理を飛ばしたいと思う場面がよく出てきます。 そのときに使えるのがcontinue文です。

continue文を使うと、ループの途中でも残りの処理をスキップして、すぐに次の繰り返しに移ることができます。 無駄な処理を避けられるため、プログラムを効率的に実行できるようになります。

continue文の基本的な使い方

まずは、continue文を使った基本的な例を見てみましょう。

次のコードは1から10までの数字を順番に処理しますが、偶数のときは処理をスキップし、奇数だけを表示します。

for i in range(1, 11):
    if i % 2 == 0:  # 偶数のチェック
        continue     # 偶数ならスキップ
    print(i)        # 奇数を表示

このプログラムの流れを説明すると、for i in range(1, 11)によって1から10までの数字が順に変数iに代入されます。 そして、if i % 2 == 0という条件式で「iが偶数かどうか」を確認します。 偶数の場合はcontinue文が実行されるので、その時点で残りの処理(ここではprint(i))はスキップされ、次の数字に進みます。 逆に奇数のときはcontinue文が実行されないため、print(i)によってその数字が表示されます。

実際に実行すると、出力結果は次のようになります。

1
3
5
7
9

つまり偶数は飛ばされ、奇数だけが画面に表示されていることがわかります。

複数の条件でスキップする

continue文はひとつの条件だけでなく、複数の条件を組み合わせて使うこともできます。 例えば、「1から20までの数字のうち、3の倍数と5の倍数はスキップし、それ以外の数字だけを表示する」という処理を書いてみましょう。

for i in range(1, 21):
    if i % 3 == 0 or i % 5 == 0:  # 3または5の倍数のチェック
        continue                    # スキップ
    print(i)                       # その他の数字を表示

このコードでは、if i % 3 == 0 or i % 5 == 0によって「iが3の倍数または5の倍数かどうか」を調べています。 その条件に当てはまったときはcontinue文が実行されるため、その数字は表示されません。 条件に当てはまらなければ、print(i)によって数字が表示されます。

実行結果は次のようになります。

1
2
4
7
8
11
13
14
16
17
19

ここでは3や5、あるいは15のような3と5の両方の倍数もすべてスキップされていることが確認できます。

まとめ

Pythonのcontinue文は、ループ内で特定の条件に一致した場合に「その回だけ処理を飛ばす」という便利な機能です。 不要な処理をスキップできるため、プログラムをわかりやすく、効率的に書くことができます。

特にデータのフィルタリングや条件分岐が多い場面で役立ちます。 break文と組み合わせて使うことで、ループの制御がより柔軟になり、プログラムの表現力がさらに広がります。

出力結果: