python
迭代器与生成器介绍与示例
在
Python
中,迭代器(
Iterator
)和生成器(
Generator
)是处理数据集合时非常重要
的概念,它们都与数据的迭代遍历有关,但有着不同的使用场景和特点。
###
迭代器(
Iterator
)
迭代器是一个可以记住遍历的位置的对象。迭代器从集合的第一个元素开始访问,直到所有
的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:
`__iter__()`
和
`__next__()`
。
- `__iter__()`
:返回迭代器对象本身。
- `__next__()`
:返回容器的下一个元素。
迭代器的特点:
-
只能单向遍历。
-
支持
`for`
循环和
`next()`
函数。
-
可以是任何实现了迭代器协议的对象。
###
生成器(
Generator
)
生成器是一种特殊的迭代器,它使用
`yield`
语句来产生一系列值,每次产生一个值后会暂停,
直到下一次调用
`next()`
时再从上次暂停的地方继续执行,直到遇到
`return`
语句或者函数
执行结束。