python -----关于生成器generator
普通生成器:
j =[x*8 for x in range(10)]#普通列表生成式 j2 = (x*8 for x in range(10))#普通生成器 ,只需将 [ 改成( 即可。 print(j2)#能看到打印出的是生成器的内存地址,说明生成器返回的并不是列表,生成器只是可迭代的数列算法。 print(list(j2))#启动生成器,使其执行算法,将值返回到列表中,最终以列表的方式显现。next(j2)#常用来与生成器搭配,可以启动生成器,使其返回一条值for i in j2: print(i) #常用来遍历生成器,将其循环打印出来
似函数式生成器:
‘‘‘斐波那契数列函数(生成器):‘‘‘def fib(max): n,a,b = 0,0,1 while n<max: print(b)# ------>>>将其换为 yield b 则转变为生成器<<<------ a,b=b,a+b n +=1 return ‘done‘f = fib(max) #切记将生成器赋值给变量fprint(f.__next__())#常用来与生成器搭配,使其返回一条值,反复调用则连续返回for i in f : print(i) #遍历打印
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16