python的lambda函数用法
时间: 2023-10-22 18:07:20 浏览: 116
lambda函数是一种匿名函数,它可以在需要函数对象的任何地方使用。lambda函数的语法如下:
```
lambda arguments: expression
```
其中 `arguments` 是函数的参数列表,多个参数之间用逗号隔开,`expression` 是函数的返回值。
以下是lambda函数的一些用例:
1. 将一个函数作为参数传递给另一个函数时,可以使用lambda函数来定义匿名函数,例如:
```
def apply(func, x):
return func(x)
result = apply(lambda x: x * x, 10)
print(result) # 输出 100
```
2. 对于简单的映射、过滤和归约操作,lambda函数也很有用,例如:
```
# 对列表中的每个元素求平方
numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x * x, numbers))
print(squares) # 输出 [1, 4, 9, 16, 25]
# 过滤偶数
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 输出 [2, 4]
# 求列表中所有元素的和
total = reduce(lambda x, y: x + y, numbers)
print(total) # 输出 15
```
3. 在排序时,可以使用lambda函数指定排序规则,例如:
```
# 按照字符串长度排序
words = ['apple', 'banana', 'cherry', 'date']
words.sort(key=lambda x: len(x))
print(words) # 输出 ['date', 'apple', 'banana', 'cherry']
# 按照字母顺序排序
words.sort(key=lambda x: x[0])
print(words) # 输出 ['apple', 'banana', 'cherry', 'date']
```
阅读全文