引引言引言言
引言:列表生成式
[i**2 for i in range(10)]
此外,列表生成时也可以加入函数:
def func(x):
return x**2
list = [func(x) for x in range(10)]
生成器:
生成器的两种构建方式:一是通过小括号(),一是通过yield关键字。这里yield相当于return,不同之处在于yield结束后会保存此时函数的状态。
第一种方式:小括号
gene = (x**2 for x in range(10))
print gene
<generator object <genexpr> at 0x000000000287DB88>
生成器对象的特点:
1:在你用到数据的时候,会给你生成,从而节省内存空间
2:不能跳跃取值,即只能顺序的生成值,
3:生成器是可迭代对象(后面会讲到什么是可迭代对象)
gene = (x**2 for x in range(5))
first_num = ne