文章目录
前言
迭代器是为了给迭代对象进行迭代使用的,是访问集合元素的一种方式。从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
列表、集合、元组、字典、字符串、都是可迭代对象。如果一个对象拥有_iter方法,其是可迭代对象。
一、什么是迭代器?
迭代器(Iterator)是一种特殊的对象,它可以在遍历时逐个返回元素。迭代器实现了迭代协议,包括两个重要的方法:
iter () 方法:返回迭代器对象自身。
next() 方法:返回迭代器的下一个元素,如果没有元素可供返回,则抛出 StopIteration 异常。
python
class Iterator_demo:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
iter_demo = Iterator_demo()
for _ in iter(iter_demo):
if _ == 10: # 迭代9次,否则会一直迭代
exit()
else:
print(_)
二、如何生成迭代器?
python
'''
两个基本的方法:
iter()
next()
'''
it = iter([1, 2, 3, 5])
print(next(it)) # 1
print(next(it)) # 2
print(next(it)) # 3
print(next(it)) # 5
it = iter([1, 2, 3, 5])
for _ in it:
print(_) # 1 2 3 5