ITPub博客

首页 > IT职业 > IT图书 > python中的生成器是什么

python中的生成器是什么

IT图书 作者:softwind 时间:2021-09-11 10:34:26 0 删除 编辑

1、生成器定义

在Python中,一边循环一边计算的机制,称为生成器:generator。

(推荐教程:python基础教程)

2、为什么要有生成器

列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。

如:仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

如果列表元素按照某种算法推算出来,那我们就可以在循环的过程中不断推算出后续的元素,这样就不必创建完整的list,从而节省大量的空间。

简单一句话:我又想要得到庞大的数据,又想让它占用空间少,那就用生成器!

3、如何创建生成器

第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:

>>> L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
<generator object <genexpr> at 0x1022ef630>

 创建L和g的区别仅在于最外层的[]和(),L是一个list,而g是一个generator。

方法二:如果一个函数中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。调用函数就是创建了一个生成器(generator)对象。

相关教程推荐:python爬虫视频教程

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4594/viewspace-2836816/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-10

  • 博文量
    111
  • 访问量
    842