标签:函数 循环 info pytho com bre mamicode n+1 ext
列表推导: L = [x * x for x in range(10)] 可创建一个列表
g=(x*x for x in range(10))
生成器保存的是算法,访问生成器中的元素:
每次调用next( ),计算下一个元素
使用for...in进行迭代
g=(x*x for x in range(10))
for item in g:
print(item)
其多次返回值,其实就是一个返回生成器的函数
def fib(max):
n,a,b=0,0,1
while n<max:
yield b
a,b=b,a+b
n=n+1
print('done')
g=fib(5)
next(g)
next(g)
next(g)
next(g)
next(g)
g=fib(10)
for item in g:
print(item)
g=fib(20)
while True:
try:
x=next(g)
print('g: ',x)
except StopIteration as e:
print('Generation return value: ',e.value)
break
标签:函数 循环 info pytho com bre mamicode n+1 ext
原文地址:https://www.cnblogs.com/mengxiaoleng/p/11566822.html