python 生成器 例题
时间: 2023-08-20 14:02:06 浏览: 166
Python生成器generator用法示例
生成器是一种特殊的函数,它使用了yield关键字来返回一个值,并且可以暂停和继续执行。生成器能够有效地节省内存,并且可以在遍历过程中生成数据,而不是一次性生成所有数据。
下面是一个例题,使用Python生成器来生成斐波那契数列:
```python
def fibonacci_generator():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
# 使用生成器生成斐波那契数列的前十个数
fib_gen = fibonacci_generator()
fibonacci_list = [next(fib_gen) for _ in range(10)]
print(fibonacci_list)
```
在上面的例子中,`fibonacci_generator`是一个生成器函数,通过`yield`语句返回斐波那契数列的每一个数。通过将其赋值给`fib_gen`,我们创建了一个生成器对象。
然后,我们使用列表推导式来遍历生成器对象,每次通过`next`函数调用生成器来获取下一个数,并将其添加到`fibonacci_list`中。
最终,我们打印出来前十个斐波那契数列的结果。
通过生成器,我们可以按需生成无限序列,而不必占用额外的内存。这对于处理大量数据或者进行延迟计算非常有用。同时,使用生成器能够以更简洁、可读性更高的方式编写代码。
阅读全文