【摘要】今天给大家解答一道Python常见的面试题,希望这个面试栏目,给那些准备面试的同学,提供一点点帮助!小编会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,今天要说的Python中迭代器和生成器的区别。
下面用个简单的例子来说生成器的用法:
# 普通序列>>> g = []
>>> for x in range(5):
>>> g.append(x)
>>> g[0, 1, 2, 3, 4]# 生成器def f(): for x
in range(5): yield x # 返回并记录函数状态 # nextf = f()
>>> next(f) # 每调用一次next,就执行一次yield | 依靠这种需要才生产的工作机制,大大的节省资源0
>>> next(f)1
>>> next(f)2
>>> next(f)3
>>> next(f)4# for next
>>> for x in range(5):
>>> print(next(f))01234
以上就是今天的全部内容了,如果面试的时候有人问你“Python中迭代器和生成器的区别?”这个问题,小编相信大家应该不会再慌了,如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!环球网校的小编在这里祝大家python相关工作面试顺利。