sunny-cheng  

生成器

如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?

这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,

称为生成器:generator。

 

迭代器

可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。

 

凡是可作用于for循环的对象都是Iterable类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

集合数据类型如listdictstr等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。

posted on 2018-09-10 15:52  sunny-cheng  阅读(127)  评论(0编辑  收藏  举报