如下函数执行结果是什么?

答案:  [20, 21, 22, 23]

核心要点:本题重点在对生成器的理解, 生成器具有惰性机制 ,只有在取值的时候才执行.

解析:

for 循环遍历列表,执行了两次

第一次 n =2, 第二次 n = 10

但是在这个过程中      g = (add(n, i) for i in g)  并没有执行, 因为只有在取值的时候才会执行

直到代码执行到  print(list(g))  生成器才被执行

所以原代码等价于如下代码:

												

最新文章

  1. #IrrlichtEngine# Example1 HelloWorld
  2. Quick Apps for Sharepoint小型BI解决方案
  3. 删除右键ATI CATALYST(R) Control Center的方法
  4. 学习VS生活
  5. ubuntu 14.04 nagios4+ndoutils2.0+centreon2.5.4配置
  6. 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件
  7. initial pointer [expert c]
  8. InputStream和OutputStream
  9. javascript权威指南(6) - 对象
  10. python爬虫(五)_urllib2:Get请求和Post请求
  11. 笔记:MyBatis XML配置详解
  12. 解决ajax请求默认不支持重定向问题
  13. ios NSTimer的强引用问题
  14. 2.6 C++通过引用来传递和返回类对象
  15. mybatis xml中的大于、小于等符号写法
  16. Project Euler Problem5
  17. Centos7 安装 Python 的笔记
  18. ballerina 学习九 Client endpoints
  19. OCP 052新加的考试题收集整理-第20道
  20. js经验点滴

热门文章

  1. SSH实现ajax
  2. 【Core】当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置
  3. 牛客 黑龙江大学程序设计竞赛重现 19-4-25 D
  4. 简单谈谈$.merge()
  5. PyQt5——布局管理
  6. ubuntu下安装 java环境
  7. 【转载】BlockingQueue
  8. Openstack中keystone与外部LDAP Server的集成
  9. Centos7 防火墙frewalld规则设置
  10. Confluence 6 在升级之前