Python基础---生成器

背景

通过列表推导式我们可以直接创建出一个列表,但是受到内存的限制,我们不可能创造出一个无限大的列表。而且创建一个有200万个元素的列表,会占用很大的内存空间,而这个时候我们仅仅需要访问列表中几个元素,那么后面的元素就占用着空间就是一种浪费的行为。那么我们可不可以用几个元素就创建出几个元素。这样在一定程度上就优化了内存。那么在Python中有一种一边循环一边计算的机制就是生成器

生成器是一次性的,里面数据每使用一个就释放一个,直至为空。

生成器的创建

两个方法均用print(next())输出

  • 方法一:使用类似列表推导式创建,把中括号换成小括号

Python基础---生成器
Python基础---生成器

方法二:yield 变量,通过yield,会返回i 的最新值

Python基础---生成器

Python基础---生成器

上一篇:Java面试题及解析


下一篇:yield关键字的用法和用途