Python进阶篇-008. 迭代器
[toc]
一、创作声明
进阶篇是对基础篇的补充,这里面更多的是各种常用库、高级语法糖的教程,因此,进阶篇的内容会比较零碎。在创作过程中,同样会借助ChatGPT来辅助。
二、迭代器
迭代器(Iterator)是Python中一种用于遍历可迭代对象(Iterable)的对象。可迭代对象是指实现了__iter__()方法的对象,而迭代器是实现了__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
value = self.data[self.index]
self.index += 1
return value
# 创建一个可迭代对象
my_list = [1, 2, 3, 4, 5]
# 创建迭代器
my_iterator = MyIterator(my_list)
# 使用迭代器遍历可迭代对象
for item in my_iterator:
print(item)
输出结果为:
1
2
3
4
5
在上面的示例中,我们定义了一个名为MyIterator
的迭代器类,它接受一个可迭代对象作为参数,并实现了__iter__()
和__next__()
方法。__iter__()
方法返回迭代器本身,而__next__()
方法返回可迭代对象中的下一个元素,直到遍历完所有元素时抛出StopIteration
异常。
通过使用迭代器,我们可以通过简单的for
循环遍历可迭代对象中的元素,而不需要显式地使用索引来访问每个元素。
三、写在最后
更多技术分享,点击传送门:https://github.com/maxiaolu66/profile
Last updated