lambada表达式python多种具体用法各举一个例子
时间: 2024-02-21 14:58:46 浏览: 111
"Java与Haskell的双向互操作:Lambada框架的实现和应用"
好的,以下是几个Lambda表达式的具体用法:
1. 列表排序:使用Lambda表达式作为Python内置函数`sorted()`的key参数,以实现自定义排序。例如,对一个字符串列表按照字符串长度进行排序:
```
names = ['Alice', 'Bob', 'Charlie', 'David']
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names) # ['Bob', 'Alice', 'David', 'Charlie']
```
2. 过滤器:使用Lambda表达式作为Python内置函数`filter()`的参数,以实现自定义过滤。例如,过滤一个整数列表中的偶数:
```
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums) # [2, 4, 6, 8, 10]
```
3. 映射:使用Lambda表达式作为Python内置函数`map()`的参数,以实现自定义映射。例如,将一个整数列表中的每个元素平方:
```
nums = [1, 2, 3, 4, 5]
square_nums = list(map(lambda x: x**2, nums))
print(square_nums) # [1, 4, 9, 16, 25]
```
4. 函数式编程:使用Lambda表达式作为函数的参数,以实现函数式编程中的一些高阶函数,例如`reduce()`函数。例如,使用`reduce()`函数求一个整数列表的和:
```
from functools import reduce
nums = [1, 2, 3, 4, 5]
sum_nums = reduce(lambda x, y: x+y, nums)
print(sum_nums) # 15
```
以上是Lambda表达式的一些常见用法,当然还有很多其他的用法,例如作为函数默认参数、作为类属性等等。
阅读全文