1 iterable object

list、dict、set、tuple、file(在每行上iterate)等都是iterable object,但是它们不是iterator。但是它们可以转换成iterator,通过两种方式:

第一,显式的使用iter()函数;

第二,隐式的使用for

2 iterator

iterator也是iterable的。

3 generator

3.1 种类

有两种类型的generators

3.2 使用yield来返回的函数形式的generator

使用yield返回函数值的函数是generator,generator是一种特殊的iterator,因此以iterator作为参数的函数都可以使用generator。

3.3 使用generator comprehension形式的generator

即圆括号形式的generator comprehension本质是一个generator。

总结一下,

三者的关系如下:

generator是iterator,iterator是iterable object,所以,最大的是iterable object。

最新文章

  1. DataAccess通用数据库访问类,简单易用,功能强悍
  2. Angular2 小贴士-多级注入器
  3. 不可或缺 Windows Native (22) - C++: 多重继承, 虚基类
  4. 说说Angular中的$timeOut定时器
  5. PhyLab2.0设计分析阶段任务大纲(α)
  6. Matlab计算两集合间的海明距离
  7. CSS模块化
  8. ASP.NET MVC轻教程 Step By Step 11——数据注解
  9. First AngularJS !
  10. fastjson初始化对性能的影响(转)
  11. iOS基础 - 第三方网络框架
  12. HP DL388 gen9服务器安装RHEL 6.5系统
  13. 【zzulioj 2127】 tmk射气球
  14. Java核心技术第四章——3.对象构造
  15. MaxCompute教程
  16. 7种方法实现移动端Retina屏幕1px边框效果
  17. 《网页文档/文字复制方法大全》 - imsoft.cnblogs
  18. pip2和pip3冲突问题解决方法
  19. No package的问题解决
  20. jiffies存放

热门文章

  1. 大前端之HTML5\CSS3
  2. Mysql:sql语句
  3. PHP 获取LDAP服务器Schema数据
  4. Poj 2187 旋转卡壳
  5. 竞赛Noi_Linux使用总结(vim)
  6. Java Class 利用classpath来获取源文件地址
  7. 62. mybatis 使用PageHelper不生效【从零开始学Spring Boot】
  8. 博客搬迁至Gitcafe
  9. HDU3032 nim博弈
  10. [luoguP2709] 小B的询问(莫队)