📌 什么是迭代器?

迭代器(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)
Python_迭代器

🧩 迭代器应用场景

  1. 🚀 处理大型文件:逐行读取而不加载全文
  2. 📊 数据流处理:实时分析流数据
  3. 🛠 自定义数据源:如网络爬虫或数据库查询

⚠️ 注意:迭代器无法直接返回到上一次状态,需配合生成器实现双向操作

📚 扩展学习

for循环_示例

🧠 思考题

  • 为什么迭代器适合处理无限序列?
  • 如何将列表转换为迭代器?(提示:使用 iter() 函数)
数据处理_迭代器