简介
生成器是用来创建Python序列的一个对象,可以用它迭代庞大的序列而不需在内存中创建和存储整个序列,因为它仅仅保存了这个序列的推算算法。Python3中range()是标准的一个生成器
主要作用:为迭代器产生数据
创建一个生成器generator
方法一:通过列表生成式改成生成器,只需将列表生成式的“[]”改成“()", 就等于创建了一个生成器generator
L= [i for i in range(10)]#将列表生成式的[]改成(),就创建了一个生成器
print(L)
generator= (i for i in range(10))
print(generator)#打印输出的仅仅是一个内存地址
列表可以通过下标索引直接访问每一个元素,可是生成器保存的仅是一个推算算法,所以不能通过下标索引来访问元素,但我们可以通过__next__()函数来访问生成器的下一个返回值
print(generator.__next__())#>>>0
print(generator.__next__())#>>>1
print(generator.__next__())#>>>