python

当前位置:中华考试网 >> python >> python编程基础 >> 文章内容

python中的生成器是什么?

来源:中华考试网  [2020年10月8日]  【

  python中的生成器是什么

  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

   at 0x1022ef630>

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

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

责编:hym
  • 会计考试
  • 建筑工程
  • 职业资格
  • 医药考试
  • 外语考试
  • 学历考试