📌 什么是迭代器?
迭代器(Iterator)是 Python 中用于逐个访问集合元素的核心概念,它遵循迭代器协议(Iterator Protocol),包含 __iter__()
和 __next__()
方法。
通过迭代器,我们可以高效处理大数据集,避免一次性加载全部内容到内存中。
🧠 核心特点
- 🟢 惰性求值:按需生成数据,节省资源
- 🟣 内存友好:适用于无限序列或大型数据集
- 🟨 链式操作:可与生成器、列表推导式等结合使用
🧪 迭代器使用示例
# 定义一个简单迭代器
class MyIterator:
def __init__(self, data):
self.data = data
self.index = 0
def __iter__(self):
return self
def __next__(self):
if self.index >= len(self.data):
raise StopIteration
result = self.data[self.index]
self.index += 1
return result
# 使用迭代器
nums = [1, 2, 3, 4, 5]
iter_obj = MyIterator(nums)
for num in iter_obj:
print(num)
🧩 迭代器应用场景
- 🚀 处理大型文件:逐行读取而不加载全文
- 📊 数据流处理:实时分析流数据
- 🛠 自定义数据源:如网络爬虫或数据库查询
⚠️ 注意:迭代器无法直接返回到上一次状态,需配合生成器实现双向操作
📚 扩展学习
🧠 思考题
- 为什么迭代器适合处理无限序列?
- 如何将列表转换为迭代器?(提示:使用
iter()
函数)