迭代器在Python中是一种用于遍历集合元素的对象。它实现了迭代器协议,包含两个特殊的方法:`__iter__()` 和 `__next__()`。`__iter__()` 方法返回迭代器对象本身,而 `__next__()` 方法返回集合中的下一个元素。当没有更多元素可返回时,`__next__()` 方法会抛出 `StopIteration` 异常,表示迭代结束。
迭代器的主要优势在于它们支持惰性计算,即只在需要时计算下一个元素,这允许迭代器遍历非常大或无限的序列而不会消耗大量内存。Python中的许多内置类型,如列表、元组、字典和集合都是可迭代的对象,但它们本身不是迭代器,需要使用内置函数 `iter()` 来创建迭代器对象。
使用迭代器的例子:
创建一个迭代器对象
my_iterator = iter([1, 2, 3, 4, 5])
使用next()方法逐个访问元素
print(next(my_iterator)) 输出:1
print(next(my_iterator)) 输出:2
print(next(my_iterator)) 输出:3
迭代器非常适合用于需要遍历大量数据或处理无限数据流的场景。