Python 的 lambda 函数:用法和示例
发布时间:2023-07-01 12:13:15
Python中的lambda函数是一种匿名函数,它可以在一行代码中定义简单的函数。lambda函数的语法比较简单,它的一般形式为:lambda arguments: expression。
lambda函数主要有以下特点:
1. 匿名性:lambda函数没有函数名,它是一种匿名函数,通过关键字lambda来定义。
2. 简洁性:lambda函数通常用于定义一些简单的函数,可以在一行代码中完成定义,不需要使用def关键字。
3. 单行执行:lambda函数中的表达式只能写在一行,不能换行。
下面是一些lambda函数的常用用法和示例:
1. 用作简单的函数:
add = lambda x, y: x + y print(add(2, 3)) # 输出结果为5
上面的代码定义了一个lambda函数add,它接受两个参数x和y,并返回它们的和。我们可以通过调用add函数来计算任意两个数的和。
2. 用作高阶函数的参数:
numbers = [2, 3, 4, 5, 6] squared = list(map(lambda x: x**2, numbers)) print(squared) # 输出结果为[4, 9, 16, 25, 36]
上面的代码使用lambda函数作为map函数的参数,对列表中的每个元素求平方。
3. 用作排序函数的参数:
students = [
{'name': 'Alice', 'age': 20},
{'name': 'Bob', 'age': 18},
{'name': 'Charlie', 'age': 22}
]
students.sort(key=lambda x: x['age'])
print(students) # 输出结果为[{'name': 'Bob', 'age': 18}, {'name': 'Alice', 'age': 20}, {'name': 'Charlie', 'age': 22}]
上面的代码使用lambda函数作为sort函数的参数,根据学生的年龄对学生列表进行排序。
4. 用作过滤函数的参数:
numbers = [1, 2, 3, 4, 5, 6] even = list(filter(lambda x: x % 2 == 0, numbers)) print(even) # 输出结果为[2, 4, 6]
上面的代码使用lambda函数作为filter函数的参数,过滤出列表中的偶数。
Lambda函数的用法和示例还有很多,这里只是介绍了一些常见的用法。使用lambda函数可以简化代码,提高代码的可读性和简洁性。但是需要注意的是,过度使用lambda函数可能会使代码难以理解和维护,所以在使用lambda函数时要适度。
