码迷,mamicode.com
首页 > 编程语言 > 详细

python 迭代器

时间:2018-03-19 14:59:10      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:base=(add(in) for   python 迭代器   python生成器   

def add(s,x):     return  s+x      def gen():     for i in range(4):         yield i          base = gen() for n in [1,10]:     base=(add(i,n) for i in base)           print(list(base))


n等于1时:

执行完base = (add(i, n) for i in base)

后base是:

i+n for i in [0,1,2,3]

接下来n=10:

base变为i+n for i in (i+n for i in [0,1,2,3])

此时n等于10,再去计算base, base一直是个生成器。

其中print list(base) 是对生成器进行迭代,此时n是按照10来计算。


python 迭代器

标签:base=(add(in) for   python 迭代器   python生成器   

原文地址:http://blog.51cto.com/11736068/2088499

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!