Python ループで反復をスキップする
-
try-except
ステートメントをcontinue
と共に使用して、Python ループの反復をスキップする -
continue
でif-else
ステートメントを使用して Python ループの反復をスキップする
この記事では、Python でループの特定の反復をスキップするさまざまな方法について説明します。
場合によっては、いくつかのタスクをスキップしながら、いくつかのタスクを繰り返し実行するという要件に対処しなければならないことがあります。 たとえば、ループを実行していて、例外をスローする可能性のある反復の部分をスキップしたい場合です。
try-except
ステートメントを continue
と共に使用して、Python ループの反復をスキップする
Python では、try-except
ステートメントを使用して例外を簡単に処理できます。 ループの反復中にいくつかの例外が発生し、ループの実行が停止する可能性があると思われる場合は、このステートメントを使用できます。
List_A = [25, 30, 100, 600]
List_B = [5, 10, 0, 30]
Result = []
for i, dividend in enumerate(List_A):
try:
# perform the task
Result.append(dividend / List_B[i])
except:
# handle the exceptions
continue
print(Result)
上記のコードでは、2つのリストがあり、List_A
を List_B
要素ごとに分割したいと考えています。
Python では、数値をゼロで除算すると、ZeroDivisionError
が発生します。 List_B
には除数としてゼロが含まれているため、それによる除算はループ実行中にこのエラーを生成します。
このエラーを回避するために、except
ブロックを使用します。 エラーが発生すると例外が発生し、except
ブロックが実行されます。
continue
ステートメントは、現在のループ反復で後続のステートメントをすべて無視し、ループの先頭に戻ります。 これは、ループの繰り返しをスキップする方法です。
上記のコードは、次の出力を生成します。
[5.0, 3.0, 20.0]
continue
で if-else
ステートメントを使用して Python ループの反復をスキップする
if-else
ステートメントと continue
を使用して同じタスクを実行できます。
List_A = [25, 30, 100, 600]
List_B = [5, 10, 0, 30]
Result = []
for i, dividend in enumerate(List_A):
if List_B[i] != 0:
Result.append(dividend / List_B[i])
else:
continue
print(Result)
これは簡単なコードです。 このソリューションと try-except
ソリューションの違いは、前者の実装では、ループの実行が停止される可能性がある条件が既にわかっていることです。
したがって、この条件を明示的にコーディングして、その反復をスキップできます。
出力:
[5.0, 3.0, 20.0]
上記の実装の結果として、ループを停止することなく、エラー/例外が発生する可能性があるループ反復をスキップできます。