回顾:
列表推导式
---------------》-----------》---------------
1.迭代器和生成器
1)迭代器
迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的iter()和next()方法。其中iter()方法返回迭代器对象本身;next()方法返回容器的下一个元素,在结尾时引发StopIteration异常。
可以直接作用于for循环的对象统称为可迭代对象:Iterable(可迭代对象)。
list、dict、str虽然是Iterable,却不是Iterator。
把list、dict、str等Iterable变成Iterator可以使用iter函数或者iter()函数;
2.生成器generator
在Python中,使用生成器可以很方便的支持迭代器协议。在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。