Python的迭代器和生成器详解
我们说Python是一门高效的语言,在于它内置的一些变量访问模式——其中迭代器和生成器,可以算是Python的特色了,功能强大,用起来很爽 迭代器(Iterator) 迭代器简介 迭代器(iterator)也成游标(cursor),是实现了迭代操作的对象,通过迭代器开发人员可以不同知道容器内部的详细情况而在容器(如链表、矩阵)上进行遍历 它是一个带状态的对象;在调用next()函数的时候返回容器的下一个值, 任何实现了__iter()__和__next()__方法的对象都是迭代器 ,__iter()__返回迭代器自身,__next()__返回容器的下一个值,如果容器没有更多的元素,就抛出StopIteration异常——所以说,迭代器是一个实现了工厂模式的对象 迭代器的好处总结起来八个字: 延迟计算,按需调用 Python内置的 iter() 函数用于生成一个迭代器,其中括号内参数可以是字符串、列表、或者元祖(它们都是可迭代对象,即可以用for..in语句进行遍历的对象) i = iter( "Hello" ) 使用 next() 函数对迭代器进行遍历 >>> next (i) H >>> next (i) e itertools模块 Python内指了一个很有意思的支持迭代的工具模块:itertools,该模块提供的全部是处理迭代功能的函数,它们的返回值不是list而是迭代对象