Python 停止迭代

StopIteration(停止迭代)

为了防止迭代永远进行下去,我们可以使用 StopIteration 语句。

next() 方法中,我们可以添加一个终止条件,以便在迭代达到指定次数后引发错误:

实例

在 20 次迭代后停止:

class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    if self.a <= 20:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration

myclass = MyNumbers()
myiter = iter(myclass)

for x in myiter:
  print(x)

亲自试一试

相关页面

教程:

术语: