python lambda函数与生成器
时间: 2023-10-24 12:27:09 浏览: 127
Lambda函数是一种匿名函数,可以在一行代码中定义简单的函数。它的语法如下:
```python
lambda arguments: expression
```
其中,arguments是函数的参数列表,expression是函数的返回值表达式。Lambda函数通常用于传递简单的函数功能,例如在高阶函数中作为参数使用。
生成器(generator)是一种特殊类型的迭代器,可以通过yield语句逐步产生值。与普通函数不同,生成器函数使用yield语句返回一个值,但不会终止函数的执行。每次调用生成器函数时,它会从上次停止的地方恢复执行,继续生成下一个值。
下面是一个使用lambda函数和生成器的示例:
```python
# 使用lambda函数计算平方
squared = lambda x: x**2
print(squared(5)) # 输出: 25
# 使用生成器函数生成斐波那契数列
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib = fibonacci()
print(next(fib)) # 输出: 0
print(next(fib)) # 输出: 1
print(next(fib)) # 输出: 1
print(next(fib)) # 输出: 2
...
```
需要注意的是,生成器在每次迭代时都会延迟计算并返回一个值,因此在内存使用方面具有优势。而lambda函数则适用于较简单的函数功能。
阅读全文