迭代器(Iterator)是 Python 中一个非常重要的概念,用于遍历容器(如列表、元组、字典、集合等)中的元素。迭代器实现了两个基本的方法:__iter__()
和 next()
(在 Python 3 中为 __next__()
)。__iter__()
方法返回迭代器对象本身,而 next()
或 __next__()
方法返回容器中的下一个值。
iter()
函数返回的迭代器。__iter__()
和 __next__()
方法来自定义迭代器。yield
关键字来生成值,代码更加简洁。以下是一个自定义迭代器的示例:
class MyIterator:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current >= self.end:
raise StopIteration
else:
self.current += 1
return self.current - 1
# 使用自定义迭代器
my_iter = MyIterator(0, 5)
for num in my_iter:
print(num)
StopIteration
异常。这是正常的结束信号,可以通过 for
循环自动处理。如果需要重新迭代一个已经耗尽的迭代器,可以重新创建迭代器对象:
my_iter = MyIterator(0, 5)
for num in my_iter:
print(num)
# 重新创建迭代器
my_iter = MyIterator(0, 5)
for num in my_iter:
print(num)
通过理解迭代器的基本概念和使用方法,可以更好地处理各种数据遍历和处理任务。
领取专属 10元无门槛券
手把手带您无忧上云