迭代(iterable):支持每次返回自己所包含一个对象的
iter()得到迭代器,.next()遍历列表。
列表解析:根据已有列表高效生成列表的方式。
生成器(Generator):
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。
所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。
>>>l = [i*i for i in range(10)]
>>>print l
0 ,1, 4 ,9 ,16, 25, 36 ,49 ,64, 81
>>>g =(i*i for i in range(10))
>>>print g
generator object <genexpr> at 0x104feab40>
next()方法实现单个打印出来
>>> g.next()
0
>>> g.next()
1
>>> g.next()
4
>>> g.next()
9
>>> g.next()
16
>>> g.next()
25
>>> g.next()
36
>>> g.next()
49
>>> g.next()
64
>>> g.next()
81
>>> g.next()