python列表生成器与生成器
短信预约 -IT技能 免费直播动态提醒
列表生成器是python内置的非常简单却非常强大的。
生成一个列表[1,2,3,4]可以用list(range(1,5))
列表生成器的应用
如果上面的公式加上判断,就可以筛选出想要的结果,比如仅需要偶数的平方
使用多层循环
生成器
生成器与列表生成器的本质区别就是:一个已经生成数据了,使用时,如果数据过大,会产生内存溢出,而生成器是只有循环时,才会生成数据。
生成器与列表生成器的区别在于一个是[],一个是()
生成器书写
g=(x x ())
(g)
打印generator的方法是next(g)和for循环
使用函数的形式,打印斐波拉契数列
(max):
nab=n < max:
(b)
ab=ba+b
n=n+fib()
上面的函数和generator仅一步之遥,要把fib函数变成generator,只需要把print(b)改成yield 就可以
(max):
nab=n < max:
b
ab=ba+b
n=n+fib()
打印fib的生成器方法
i fib():
(i)
如果使用for循环调用generator时,想拿到return返回值,需捕获stopIteration错误,返回值包含在stopIteration的value中:
g=fib(6)
(max):
nab=n < max:
b
ab=ba+b
n=n+g=fib()
:
:
x=(g)
(x)
e:
(e.value)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341