简介
首先明确
迭代:顺序读取容器元素的操作
迭代器:是能顺序读取容器元素的对象。一般由容器生成([].__iter__() ),内部实现__next__()方法
list = [1,2,3,4,5] iterator = list.__iter__() print(iterator.__next__())
生成器:是能顺序读取容器元素的函数。
通过yield关键字来实现。
yield:返回元素,并且能够记录下读取的位置和状态。下次再调用生成器.__next__()从下一个读取
def m_generator(list): for i in list: yield i # yield返回数组,并且会记录读取的位置和状态 g = m_generator(list) print(g.__next__()) print(g.__next__())
def m_generator(list):
yield list[0]
yield list[0]
yield list[1]
生成器:顺序读取容器元素的函数
迭代器:顺序读取容器元素的对象