Python迭代器类型

在python中,容器有迭代概念。迭代器具有两个不同的功能。使用这些功能,我们可以使用用户定义的类来支持迭代。这些函数是__iter __()__next __()

方法__iter __()

__iter __()方法返回迭代器对象。如果一个类支持不同类型的迭代,则可以使用其他一些方法来执行其他一些任务。

方法__next __()

__next __()方法返回容器中的下一个元素。项目完成后,将引发StopIteration异常。

范例程式码

class PowerIter:
   #It will return x ^ x where x is in range 1 to max
   def __init__(self, max = 0):
      self.max = max #Set the max limit of the iterator
        
   def __iter__(self):
      self.term = 0
      return self
    
   def __next__(self):
      if self.term <= self.max:
         element = self.term ** self.term
         self.term += 1
         return element
      else:
         raise StopIteration #When it exceeds the max, return exception
powIterObj = PowerIter(10)
powIter = iter(powIterObj)
for i in range(10):
   print(next(powIter))

输出结果

1
1
4
27
256
3125
46656
823543
16777216
387420489