1、用小括号包围数据的生成规则,创建一个生成器类型的对象。
a=(x for x in range(10)) print(type(a)) #运行结果: #<class 'generator'>
2、函数+yield关键字创建法。需要将其写成多行函数,并通过调用该函数返回生成器对象。
适用于想要表示的生成规则比较复杂,不能用一行代码来表示。
def fib(): n = 0 a,b = 0,1 while n<10: n+=1 print(b,end=" ") a,b=b,a+b fib() #运行结果: #1 1 2 3 5 8 13 21 34 55 在函数中加上关键字yield,就可以得到一个生成器。 def fib(): n = 0 a,b = 0,1 while n<10: n+=1 print(b,end=" ") yield a,b=b,a+b a = fib() print(type(a)) #运行结果: #<class 'generator'>
以上就是python快速建立生成器的方法,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。