Python 生成器
2019-05-12 22:23
197 查看
为什么要用生成器?
我们可以用列表存储数据,可是当数据特别大是建立一个列表存储数据就会很占用内存。所以,如果列表元素可以通过某种算法推算出来,那我们就可以在数据处理过程中不断的推算出新的后续元素,这样不必创建完整的数据列表可以节省内存空间
创建生成器有3种方法:
1.通过生成表达式
2.通过yield关键字
3.使用内置函数xrange()
1. 通过生成表达式
将列表生成表达式的[]改成(),就可以创建一个生成器
l = [x * x for x in range(2)] print 'l type is ', type(l) g = (x * x for x in range(2)) print 'g type is ', type(g)
程序打印结果
l type is <type 'list'> g type is <type 'generator'>
2. 通过yield关键字
def generator(g): n = 0 while n < g: yield n n += 1 g = generator(2) print 'g type is ', type(g) for i in g: print i
程序打印结果
g type is <type 'generator'> 0 1
###3. 通过xrange()函数
g = xrange(2) print 'g type is ', type(g) for i in g: print i
程序打印结果
g type is <type 'generator'> 0 1
总结
Python在数据处理另外被广泛使用,生成器功不可没
相关文章推荐
- Python高级特性(切片,迭代,列表生成式,生成器,迭代器)
- python 迭代器与生成器
- Python解释yield和Generators(生成器)
- 使用Python生成器解决八皇后问题
- Python 3.6 生成器之Send方法
- python高级特性-生成器
- Python之生成器、迭代器
- python学习笔记4.1-python高级之生成器
- python笔记2 生成器 文件读写
- python生成器
- python如何使用生成器函数实现可迭代对象
- Python yield 生成器
- Python3第3课-----编程入门(if、for,while、迭代器与生成器)
- python 迭代器与生成器
- python生成器
- Python生成器
- python学习: Python的生成器
- python基础-装饰器,生成器和迭代器
- python-生成器
- python迭代器和生成器