第二十三章、迭代器和生成器

1. 迭代器

可迭代对象(iterable)

可迭代对象是指能够依次获取数据元素的对象,是可以使用for语句遍历的对象。

如:

lst = [100, 200, 300]

可迭代对象是指能用iter(iterable)函数返回迭代器的对象。

什么是迭代器

作用

遍历可迭代对象,为同时访问多个可迭代对象提供方法。

示例

>>> lst = [100, 200, 300]
>>> it = iter(lst)  # it 绑定可以访问列表的迭代器
>>> it
<list_iterator object at 0x1064c92d0>
>>> next(it)  # 获取列表的第一个值
100
>>> next(it)  # 获取列表的第二个值
200

迭代器相关的函数

函数
说明
iter(iterable)
从可迭代对象(iterable)中返回一个迭代器(iterator),iterable必须是能提供一个迭代器的对象
next(iterator)
从迭代器iterator中获取下一个记录,如果无法获取一下条记录,则引发 StopIteration 异常