定义:
一个迭代器(iterator)是一个管理一系列值的迭代的对象。如果一个变量i指代一个迭代器对象,那么每次调用内建函数next(i)就可以产生一个这一系列值的下一个元素,如果StopIteration异常发生则意味着没有更多的元素可以产生了。
一个iterable是一个对象,obj,可以用语句iter(obj)产生一个迭代器。
从定义可以很明显的看出iterator和iterable的区别。一个iterable对象可以产生一个iterator,一个iterator可以迭代产生一个iterable对象包含的元素。
举个例子,for循环的内部原理就是每次循环调用一次next(i),直到遇到StopIteration异常。
参考文献
Data Structures and Algorithms in Python,WILEY
本文详细介绍了迭代器(iterator)与可迭代对象(iterable)的概念及其区别。通过定义解释了如何使用迭代器来遍历一系列值,并且说明了一个可迭代对象如何产生迭代器。此外还给出了一个具体的for循环内部原理的例子。
9841

被折叠的 条评论
为什么被折叠?



