跳过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)

在上面的代码中,我们有两个列表,我们想用List_A 逐个元素除以List_B

在 Python 中,当你用一个数字除以 0 时,会出现ZeroDivisionError 。由于List_B 包含零作为除数,被它除以将在循环执行时产生这个错误。

所以为了避免这个错误,我们使用except 块。当错误发生时,异常将被引发,except 块将被执行。

continue 语句会忽略当前循环迭代中的任何后续语句,并返回到循环的顶部。这就是跳过循环迭代的方法。

上述代码产生的输出结果如下:

[5.0, 3.0, 20.0]

使用if-else 语句与continue 来跳过 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]

作为上述实现的结果,你可以跳过可能发生错误/异常的循环迭代而不停止循环。