python 的generator
来源:互联网 发布:淘宝如何举报卖家违规 编辑:程序博客网 时间:2024/05/18 03:48
以下内容总体是参考了廖雪峰(大大)的python教程,写下的笔记吧。
放一个廖大大的链接:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681965108490cb4c13182e472f8d87830f13be6e88000
为什么: 直接生成列表,由于受内存限制,列表的容量有限。
如果列表的元素可以用某种算法推导出来,就可以利用一种机制在循环中不断推导后续的元素 ,称为生成器。
创建generator的方法:
1.把一个列表生成式的[ ] 改为 ()
@python>>> L = [ x*x for x in range(10)]>>> L[0,1,2,3,4,5,6,7,8,9]>>> g = ( x*x for x in range(10))>>> g<generator object <genexpr> at 0x104feab40>>>>g.next()0>>>g.next()1>>> for n in g //因为生成器g也是一个可以迭代的对象... print n0149162536496481
另一种实现generator的方式:
一种产生斐波那契序列的函数
改为生成器 只需把print 改为 yield
generator和函数执行流程不一样,函数顺序执行,遇到return或者最后一句返回,而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时,从上次返回的yield语句处继续执行。
以上内容均参考廖雪峰的python教程
http://www.liaoxuefeng.com/
侵删。
0 0
- 理解python的generator
- python 的generator
- python generator 的惰性计算
- python的yield和generator
- Python的生成器(generator)
- python的iterator/iterable/generator
- Python Generator
- Python Generator
- python generator
- python generator
- Python---generator
- python generator
- python generator
- Python Generator
- Python 中的 generator ,class 的iter
- Python生成器generator的send和next
- 深入理解python的yield和generator
- 认识 python 的 yeild 和 generator
- 阿里前端两年随想
- JavaWeb 入门级项目实战 -- 文章发布系统 (第十二节)
- JVM结构和调优总结
- 给青春小蓝安装ubuntu15.10
- 3分钟全面了解Android主流图片加载库
- python 的generator
- PL/SQL注册 产品编号 序列号 口令
- 排序—二分法插入排序
- 如何不需要在配置环境变量的情况下运行tomcat
- tensorflow的快捷安装和调试
- Linux ssh 免密码登录
- 编译安装php扩展imagick
- java.lang.IllegalStateException异常:原因分析和解决方法
- VPN——远程server端