python之迭代器与生成器详解 (2)

此时的next()函数可以唤醒生成器,另外我们可以使用send()方法来唤醒生成器,同时传递一个值到生成器中。

def my_iterator(mylist): current = 0 while current < len(mylist): res = mylist[current] current += 1 i = yield res print(i) return '遍历完成' l = [0,1,2,3] F = my_iterator(l) while True: try: f.send('aaaa') except StopIteration as e: print("生成器返回值:%s"%e.value) break 生成器生成式

在逻辑足够简单的时候,一个更快捷的创建生成器的方法:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzwzg.html