Pythonのcontinueによるループ処理のスキップと使い方をわかりやすく解説

スポンサーリンク
スポンサーリンク

continueの概要

ループの次の反復処理へスキップ Python予約語

continue

概要 continueはループの途中で処理をスキップし、次の反復処理(イテレーション)へ移行するためのキーワードです。forループやwhileループで使用されます。

わかりやすく説明 continueを使うと、特定の条件に合致した場合にループの処理を飛ばし、次の繰り返しに進むことができます。例えば、偶数だけを処理する場合などに便利です。

  • continueを使うと、その回の処理をスキップして次のループに進みます。
  • ループ自体は継続され、終了しません(breakとは異なります)。
  • forループやwhileループで使用されます。

continueの基本的な使い方

以下の例では、continueを使って偶数だけを処理するようにしています。

# continueを使ったループのスキップ
for i in range(1, 6):
    if i % 2 == 0:
        continue  # 偶数の場合は処理をスキップ
    print(i)
  • i % 2 == 0(偶数)であればcontinueが実行され、その回の処理がスキップされます。
  • 奇数のみが出力される(1, 3, 5)。

whileループでのcontinueの使用

whileループでもcontinueを使用し、特定の条件を満たした場合に処理をスキップできます。

# whileループでcontinueを使う
num = 0
while num < 5:
    num += 1
    if num == 3:
        continue  # numが3のときはスキップ
    print(num)
  • num == 3のとき、continueが実行され、print(num)がスキップされます。
  • 出力は「1, 2, 4, 5」となり、「3」が表示されません。

ネストされたループでのcontinueの使用

ネスト(入れ子)されたループでは、continueはそれが含まれるループの現在の繰り返しをスキップします。

# ネストされたループでcontinueを使う
for i in range(3):
    for j in range(5):
        if j == 2:
            continue  # jが2のときはスキップ
        print(f"i={i}, j={j}")
  • j == 2のとき、continueが実行され、その回の処理がスキップされます。
  • 外側のループはそのまま継続されます。

continueの実践的な使用例

リストの中から特定の条件を満たさないものをスキップし、必要なデータのみを処理する例です。

# 特定の値をスキップして処理
numbers = [10, -5, 20, -3, 30]

for num in numbers:
    if num < 0:
        continue  # 負の数はスキップ
    print(f"処理中: {num}")
  • リスト内の負の数(-5, -3)はスキップされます。
  • 正の数(10, 20, 30)のみが処理されます。

continueの注意点

  • ループの外では使用不可: continueforまたはwhileループ内でのみ使用できます。
  • 条件が適切でないと無限ループの原因になる: whileループ内で条件を適切に制御しないと、無限ループになる可能性があります。
  • ネストされたループでは内側のループのみ影響を受ける: 外側のループには影響を与えません。

continueのよくある質問

Q: continuebreakの違いは?
A: breakはループ自体を終了しますが、continueはその回の処理をスキップして次の反復処理に進みます。
Q: continueはどんな場面で使われますか?
A: 特定の条件を満たしたときに処理をスキップしたい場合(例: 偶数のみを処理する)に使われます。
Q: ネストされたループですべてのループをスキップできますか?
A: いいえ。continueはそのループの1回の処理をスキップするだけで、外側のループには影響しません。

まとめ

continueは、ループ処理の中で特定の条件を満たした場合に、その回の処理をスキップし、次の繰り返しに進むためのキーワードです。

  • 特定の条件に合致した場合に処理をスキップできます。
  • forループやwhileループで使用されます。
  • breakとは異なり、ループ自体は終了せず継続します。

適切にcontinueを活用し、効率的なループ処理を実装しましょう。