python 面试题之 生成器
2024-10-19 06:21:13
如下函数执行结果是什么?
答案: [20, 21, 22, 23]
核心要点:本题重点在对生成器的理解, 生成器具有惰性机制 ,只有在取值的时候才执行.
解析:
for 循环遍历列表,执行了两次
第一次 n =2, 第二次 n = 10
但是在这个过程中 g = (add(n, i) for i in g) 并没有执行, 因为只有在取值的时候才会执行
直到代码执行到 print(list(g)) 生成器才被执行
所以原代码等价于如下代码:
最新文章
- #IrrlichtEngine# Example1 HelloWorld
- Quick Apps for Sharepoint小型BI解决方案
- 删除右键ATI CATALYST(R) Control Center的方法
- 学习VS生活
- ubuntu 14.04 nagios4+ndoutils2.0+centreon2.5.4配置
- 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件
- initial pointer [expert c]
- InputStream和OutputStream
- javascript权威指南(6) - 对象
- python爬虫(五)_urllib2:Get请求和Post请求
- 笔记:MyBatis XML配置详解
- 解决ajax请求默认不支持重定向问题
- ios NSTimer的强引用问题
- 2.6 C++通过引用来传递和返回类对象
- mybatis xml中的大于、小于等符号写法
- Project Euler Problem5
- Centos7 安装 Python 的笔记
- ballerina 学习九 Client endpoints
- OCP 052新加的考试题收集整理-第20道
- js经验点滴
热门文章
- SSH实现ajax
- 【Core】当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置
- 牛客 黑龙江大学程序设计竞赛重现 19-4-25 D
- 简单谈谈$.merge()
- PyQt5——布局管理
- ubuntu下安装 java环境
- 【转载】BlockingQueue
- Openstack中keystone与外部LDAP Server的集成
- Centos7 防火墙frewalld规则设置
- Confluence 6 在升级之前