在python中,列表、元组、字典和集合都是可迭代的对象。它们是可迭代的容器,您可以从中获取迭代器(Iterator)。所有这些对象都有用于获取迭代器的 iter() 方法:
iter()方法创建了一个迭代器,你可以用next()方法逐一把迭代器中的元素给取出来。一旦取值完毕,这个迭代器也就失效。
mytuple = ("apple", "banana", "cherry") myit = iter(mytuple) print(next(myit)) print(next(myit)) print(next(myit))
#这段代码,等同于下面的for循环,for循环其实就是创建了一个迭代器,并且为每次循环自动执行netx()方法
for myit in mytuple:
print(myit)
输出的结果为:
apple
banana
cherry
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a <=200:
x = self.a
self.a += 1
return x
else:
raise StopIteration
myclass = MyNumbers()
myiter = iter(myclass)
for x in myiter:
print(x)
StopIteration 结束迭代循环