迭代器
lst = range(10) #生成一个枚举列表 从0-9
itr = iter(lst) #生成一个迭代器
itr.next() #访问迭代器方法
遍历迭代器
try: while True: val = itr.next() print val except StopIteration: pass
注意:
1、如果对list dict tuple 用for遍历,则for内部自动将之转换为迭代器
2、enumerate给迭代器元素生成索引
生成器
生成器也是迭代器的一种,就是用了yield关键词
def get_0_1_2(): yield 0 print '打印了0' yield 1 yield 2 g = get_0_1_2() print g.next() print g.next()