Lambda函数是一种“匿名函数”
它可以在不使用 def 声明函数的情况下创建一个简单的函数,通常用于需要定义简单功能的地方,并且可以作为参数传递给其他函数。
它通常用于需要一次性执行的简单功能,并且可以作为参数传递给其他函数。
基本语法:
lambda arguments: expression
其中,arguments 是函数的参数列表,expression 是函数体,表示函数要执行的操作。
用法
用法1:定义简单的函数
add = lambda x, y: x + y
result = add(3, 5)
print(result) # 输出 8
用法2:作为参数传递给其他函数
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers) # 输出 [1, 4, 9, 16, 25]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 输出 [2, 4]
用法3:与条件表达式结合使用
larger_number = lambda x, y: x if x > y else y
result = larger_number(3, 7)
print(result) # 输出 7
范例
例 1:
将 Lambda 函数赋值给一个变量并调用。
multiply = lambda x, y: x * y
print(multiply(3, 5)) # 输出 15
例 2:
将 Lambda 函数作为参数传递给其他函数。
def apply_operation(x, y, operation):
return operation(x, y)
result = apply_operation(4, 2, lambda a, b: a + b)
print(result) # 输出 6
例 3:
结合内置函数使用 Lambda 函数。
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers) # 输出 [1, 4, 9, 16, 25]
例 4:
Lambda 函数可以处理多个参数,并进行条件判断。
is_even = lambda x: x % 2 == 0
print(is_even(4)) # 输出 True
larger_number = lambda x, y: x if x > y else y
print(larger_number(3, 7)) # 输出 7
Lambda函数的使用可以简化代码,特别是在需要编写简短、一次性的功能时。但是需要注意,复杂的逻辑或长函数体通常不太适合使用Lambda函数,最好使用常规的函数定义。
1万+

被折叠的 条评论
为什么被折叠?



