python 面试题之 生成器

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

python 面试题之 生成器

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

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

解析:

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

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

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

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

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

python 面试题之 生成器

上一篇:2021-07-30——隐藏搜索


下一篇:机器学习入门:Linear Regression与Normal Equation -2017年8月23日22:11:50