博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 面试题之 生成器
阅读量:5096 次
发布时间:2019-06-13

本文共 274 字,大约阅读时间需要 1 分钟。

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

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

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

解析:

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

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

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

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

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

 

 

 

 

转载于:https://www.cnblogs.com/Arvin2018/p/9932298.html

你可能感兴趣的文章
蓝桥杯 字母组串(递归)
查看>>
SQL Server : 使用SQL Express的User Instance(用户实例)特性
查看>>
通过 JavaScript调用Asp.net(C#)后台方法
查看>>
Python学习笔记5 【转载】基本矩阵运算_20170618
查看>>
关于Cocos2d-x中实例伸缩后的位置设置
查看>>
Automated Cross-Region Snapshot Copy for Amazon Redshift
查看>>
Python学习(二十) —— 前端之CSS
查看>>
网络连接问题
查看>>
MarkDown语法测试
查看>>
Hdoj 1064 Financial Management
查看>>
win7 下安装ubuntu14.04 本人实测撰写
查看>>
django迁移数据库错误
查看>>
epoll学习01
查看>>
java基础-排序
查看>>
自己写Tiny6410的Bootloader总结!
查看>>
redis的配置文件解释
查看>>
yii 跳转页面
查看>>
闭包问题
查看>>
C++:指针
查看>>
C++字符串使用sizeof时注意
查看>>