Python中lambda表达式的基本用法
发布时间:2023-07-01 03:53:11
Python中的lambda表达式是一种简洁的函数定义方式,主要用于创建一个临时的匿名函数。与普通函数不同的是,lambda表达式可以在一行代码中定义一个函数,并直接返回函数结果。
lambda表达式的语法格式如下:
lambda 参数列表: 表达式
其中,参数列表是函数的输入参数,表达式是函数的返回值。lambda表达式可以接受任意数量的参数,但只能返回一个表达式的结果。
下面是一些使用lambda表达式的基本用法:
1. 作为函数的参数
lambda表达式常用于需要一个函数作为参数的场合,比如在map()、filter()和reduce()等函数中使用。例如,使用map()函数将一个列表中的元素依次乘以2:
numbers = [1, 2, 3, 4, 5] result = map(lambda x: x * 2, numbers) print(list(result)) # [2, 4, 6, 8, 10]
2. 作为返回值
lambda表达式也可以作为函数的返回值。例如,定义一个函数,返回一个接受两个参数的lambda表达式:
def create_multiplier(n):
return lambda x: x * n
double = create_multiplier(2)
triple = create_multiplier(3)
print(double(5)) # 10
print(triple(5)) # 15
3. 处理列表
lambda表达式可以根据指定的条件筛选列表中的元素。例如,使用filter()函数过滤出大于10的数字:
numbers = [5, 10, 15, 20] result = filter(lambda x: x > 10, numbers) print(list(result)) # [15, 20]
4. 排序列表
lambda表达式还可用于对列表进行排序。例如,对一个包含字典的列表按照字典中的某个键排序:
students = [{'name': 'Alice', 'age': 18}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 15}]
result = sorted(students, key=lambda x: x['age'])
print(result)
# [{'name': 'Charlie', 'age': 15}, {'name': 'Alice', 'age': 18}, {'name': 'Bob', 'age': 20}]
总结起来,lambda表达式是一种简洁的函数定义方式,可以在一行代码中创建一个临时的匿名函数。它常用于函数作为参数的场合,可以用于处理列表、排序等操作。
