迭代器 它是一个带状态的对象,调用next()方法的时候返回容器中的下一个值,任何实现了_ iter _ ()和 _ next _ ()方法的对象都是迭代器, _ iter _ ()返回迭代器自身,next()返回容器中的下一个值,如果容器中没有更多元素了,则抛出StopIteration异常。 a=[12,23,23,34] b=next(a) # next(a)j就等于a.__next__() print(b) # 输出 TypeError: 'list' object is not an iterator a=[12,23,23,34] a=iter(a)# iter(a)就等于a.__iter__() print(next(a)) print(next(a)) print(next(a)) #输出 12 23 23 生成器 自动实现了_ iter _ ()和 _ next _ ()方法的对象叫做生成器。 a=(i for i in range(1000) ) print(next(a)) print(next(a)) print(next(a)) # 输出 0 1 2 #生成器函数: def d (c): for i in range(c): yield i a= d(12) print(next(a)) print(next(a)) print(next(a)) print(next(a)) #输出 0 1 2 3