迭代器
本质:一个有next()方法的对象,而不是通过索引来计数。例如for循环需要下一项时,会调用next()方法获得它,条目全部取出后,会引发一个StopIteration异常,告诉调用者,迭代完成。
注意:不能回到开始,不能向后移动,也不能复制一个迭代器。如果要在此迭代一个对象,智能再次创建另一个迭代器对象。
另外,在迭代可变对象的时候,最好不要修改对象。比如迭代列表时,这个序列的迭代器只是记录你当前到达第几个元素,若此时改变元素,更新会立即反应到所迭代的条目上,从而发生危险。
创建方法:
iter(obj) iter(func,sentinel) #重复调用func,直到迭代器的下个值等于sentinel
转载请注明出处及链接 谢谢