Python中lambda 函数的用法
时间: 2023-09-24 22:05:45 浏览: 106
lambda 函数是 Python 中的一种匿名函数,它可以在定义时直接指定函数体,不需要使用 `def` 关键字定义函数,并且可以直接将其赋值给变量或作为参数传递给其他函数。lambda 函数的语法如下:
```
lambda arguments: expression
```
其中,`arguments` 是参数列表,可以包含多个参数,用逗号分隔;`expression` 是函数体,只能包含一个表达式,它会被计算并作为函数的返回值。
以下是 lambda 函数的一些常见用法:
1. 作为函数参数传递。lambda 函数可以在调用其他函数时作为参数传递,用于定义某些操作的逻辑:
```python
# 对列表进行排序,按照每个元素的第二个元素排序
lst = [(1, 2), (3, 1), (2, 3)]
sorted_lst = sorted(lst, key=lambda x: x[1])
print(sorted_lst) # [(3, 1), (1, 2), (2, 3)]
```
2. 作为变量赋值。lambda 函数可以直接赋值给变量,用于定义某些逻辑:
```python
# 定义一个用于计算平方的 lambda 函数
square = lambda x: x ** 2
print(square(2)) # 4
```
3. 作为返回值。lambda 函数可以作为其他函数的返回值,用于返回一些动态生成的函数:
```python
# 定义一个函数,根据参数返回一个 lambda 函数
def make_adder(n):
return lambda x: x + n
add_two = make_adder(2)
add_five = make_adder(5)
print(add_two(3)) # 5
print(add_five(3)) # 8
```
需要注意的是,lambda 函数通常用于定义简单的、一次性的函数,如果需要定义复杂的函数,应该使用 `def` 关键字定义函数。同时,在使用 lambda 函数时,应该避免定义过于复杂的函数体,以免影响代码的可读性。
阅读全文