迭代器 iterator
什么是迭代器
迭代器是访问可迭代对象的工具
迭代器是指iter(obj) 函数返回的对象(实例)
迭代器可以用next(it) 函数获取可迭代对象的数据
迭代器函数
iter(iterable) 从可迭代对象中返回一个迭代器,iterable必须一个能够提供迭代器的对象
next(iterator) 从迭代器iterator中获取下一个记录,如果无法获取下一条记录,则触发StopIteration异常
说明:
迭代器只能往前取值,不会后退
用iter函数可以返回一个可迭代对象的迭代器
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
# 此示例示意迭代器的获取和取值 L = [1, 3, 5, 7] it = iter(L) # 从L对象的获取迭代器it 绑定迭代器 print(next(it)) # 1 向迭代器要下一条数据 print(next(it)) # 3 print(next(it)) # 5 print(next(it)) # 7 print(next(it)) # StopIteration异常
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
# 此示例示意迭代器的获取和取值 L = [1, 3, 5, 7] it = iter(L) # 从L对象的获取迭代器it 绑定迭代器 while True: try: x = next(it) # 向迭代器要数据 print(x) except StopIteration: break