In [3]:
lst=["hello Alice","hello Bob","hello Eve"]
lst_iter=iter(lst)
print (lst_iter)
print (lst_iter.__next__())
print (lst_iter.__next__())
print (lst_iter.__next__())
print (lst_iter.__next__())
在python对象的方法中,也可以轻易使用迭代器模式构造可迭代对象,如下例:
In [4]:
class MyIter(object):
def __init__(self,n):
self.index=0
self.n=n
def __iter__(self):
return self
def __next__(self):
if self.index < self.n:
value = self.index * 2
self.index += 1
return value
else:
raise StopIteration()
In [7]:
x_square = MyIter(10)
for x in x_square:
print(x)