欢迎访问宙启技术站
智能推送

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表达式是一种简洁的函数定义方式,可以在一行代码中创建一个临时的匿名函数。它常用于函数作为参数的场合,可以用于处理列表、排序等操作。