创建生成器 #第一种创建生成器的方法 #使用()创建生成器,如果使用[]则创建列表 a = (x**2 for x in range(1, 5)) #可以通过next一直产生新的数据,直到最后一个报异常,通过for遍历不会报异常 #也可以使用a.__next__() print(next(a))#输出1 print(a.__next__())#输出4 print(next(a))#输出9 #通过for遍历生成器 for i in a: print(i) #第二种创建生成器的方法 def crea…
列表推导与生成器表达式 当我们创建了一个列表的时候,就创建了一个可以迭代的对象: >>> squares=[n*n for n in range(3)] >>> for i in squares: print i 0 1 4 这种创建列表的操作很常见,称为列表推导.但是像列表这样的迭代器,比如str.file等,虽然用起来很方便,但有一点,它们是储存在内存中的,如果值很大,会很麻烦. 而生成器表达式不同,它执行的计算与列表包含相同,但会迭代的生成结果.它的语法与列表推导…