Python yield 的理解
2017-10-03 17:57
302 查看
转载自http://www.cnblogs.com/cotyb/p/5260032.html
当处理大量数据的时候,一个长的数列会浪费很多资源,所以Python的处理办法是通过yield语句,从函数的角度讲和return是一样的道理,但是yield得会上次的执行结果,通过next语句,每next一次 就返回下一次的结果,一直到迭代完成,抛出错误,结束迭代。#coding
def cube(n):
for i in range(n):
yield i ** 3
for i in cube(5):
print i
#output
0
1
8
27
64从例子中看出来,cube(5)
当处理大量数据的时候,一个长的数列会浪费很多资源,所以Python的处理办法是通过yield语句,从函数的角度讲和return是一样的道理,但是yield得会上次的执行结果,通过next语句,每next一次 就返回下一次的结果,一直到迭代完成,抛出错误,结束迭代。#coding
def cube(n):
for i in range(n):
yield i ** 3
for i in cube(5):
print i
#output
0
1
8
27
64从例子中看出来,cube(5)
>>> # 列表解析生成列表 >>> [ x ** 3 for x in range(5)] [0, 1, 8, 27, 64] >>> >>> # 生成器表达式 >>> (x ** 3 for x in range(5)) <generator object <genexpr> at 0x000000000315F678> >>> # 两者之间转换 >>> list(x ** 3 for x in range(5)) [0, 1, 8, 27, 64]
相关文章推荐
- 彻底理解Python中的yield
- Python 深入理解yield
- Python 深入理解yield
- 深入理解python中的yield
- Python 中的黑暗角落(一):理解 yield 关键字
- 彻底理解Python中的yield
- python yield 实例理解要点
- 【Python注意事项】如何理解python中间generator functions和yield表情
- python之yield理解
- 彻底理解Python中的yield
- Python 深入理解yield
- Python中对于yield的个人理解
- [转]Python 深入理解yield
- Python yield的简单应用和理解
- 【python】理解迭代器及yield
- Python 深入理解yield
- 【Python】理解yield和generator(生成器)
- 这样讲解 yield//把一个不是很好理解的概念和一个很常见的实例联系起来,轻松引出概念【再次推荐这个Python教材】
- 如何理解Python关键字yield
- 彻底理解Python中的yield