1、将列表表达式的[ ],换为( ),则称作生成器。
2、惰性计算方式(相对于for循环),一次只计算出一个值
3、生成器表达式并不是真正创建数字列表,而是返回一个生成器对象,此对象在每次计算出一个条目后,把这个条目“产生(yield)”出来
4、序列过长,并且每次只需要获取一个元素时,应当考虑使用生成器表达式,而不是列表解析式
5、语法:
(expression for iter_var in iterable)
(expression for iter_var in iterable if ...)
6、x = (i+1 for i in range(1,10)) x.next()
L = ['aaa','bbb','ccc','ddd'] a = enumerate(L) print a.next() # (0, 'aaa')