迭代器(iterator)是一种设计模式,用于遍历容器(如列表、字符串、元组、字典、集合等)中的元素,而不需要暴露容器的内部实现细节。迭代器充当容器元素和用户之间的中介,提供一种顺序访问集合元素的方法。
迭代器具有以下特点:
抽象化:
迭代器将容器的遍历行为抽象为一个对象,使得用户可以方便地遍历容器中的元素。
统一接口:
不同的容器类型可以提供自己的迭代器,但所有迭代器遵循相同的接口,这支持泛型编程。
节省内存:
通过迭代器,可以一次处理一个元素,而不是一次性加载整个容器,从而节省内存。
可迭代对象:
在Python中,任何内置了`__iter__`方法的对象都是可迭代的,调用`__iter__`方法会得到一个迭代器对象。
迭代器提供了一些基本操作符,如`*`(解引用)、`+`(连接)、`==`(比较)等,这些操作符类似于C/C++中操作数组元素时的指针接口。
使用迭代器的例子:
```python
创建一个列表
l = ['egon', 'liu', 'alex']
获取迭代器对象
i = iter(l)
使用next函数遍历列表
print(next(i))
print(next(i))
print(next(i))
```
以上代码片段展示了如何使用迭代器遍历列表中的元素。每次调用`next`函数时,迭代器会返回容器中的下一个元素,直到容器中没有更多元素为止