lambda用法

`lambda`表达式在Python中是一种创建匿名函数(即没有名字的函数)的快捷方式。它们通常用于需要简单函数对象的场合,尤其是当这个函数只使用一次,不需要单独定义时。以下是`lambda`表达式的用法:
### 基本语法
```python
lambda arguments: expression
```
- `arguments`: 函数的输入参数,可以是一个或多个,用逗号分隔。
- `expression`: 函数要执行的表达式,其结果将作为函数的返回值。
### 示例
#### 1. 单个参数
下面的`lambda`表达式接收一个参数`x`并返回其平方:
```python
square = lambda x: x**2
print(square(5))  # 输出: 25
```
#### 2. 多个参数
下面的`lambda`表达式接收两个参数`x`和`y`,并返回它们的和:
```python
add = lambda x, y: x + y
print(add(5, 3))  # 输出: 8
```
#### 3. 无参数
下面的`lambda`表达式没有参数,返回一个固定的值:
```python
get_pi = lambda: 3.14159
print(get_pi())  # 输出: 3.14159
```
### `lambda`表达式在函数中的使用
#### 4. 作为函数参数
`lambda`常用于高阶函数,如`map()`, `filter()`和`sorted()`等:
```python
numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16, 25]
```
#### 5. 结合`filter()`
```python
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))  # 输出: [2, 4, 6]
```
#### 6. 结合`sorted()`
```python
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda pair: pair[1])
print(pairs)  # 输出: [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
```
### 注意事项
- `lambda`表达式只能包含一个表达式,不能包含多行代码或复杂逻辑。
- 尽管可以使用`lambda`创建更复杂的函数,但这通常会使代码难以阅读和维护。
- 如果函数需要文档字符串或者多次使用,最好定义为一个常规函数。
`lambda`表达式是Python中一个强大的功能,但它应该在需要时谨慎使用,以保持代码的可读性。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值