Python lambda(匿名函数),一文详解
Python 中的 lambda 表达式是一种创建单行小函数的方式。lambda 函数可以接受任意数量的参数,但只能有一个表达式。
lambda 函数的基本语法如下:
lambda arguments: expression
下面是一些使用 Python lambda 表达式的示例:
- 简单的加法函数:
add = lambda x, y: x + y
print(add(1, 2)) # 输出: 3
- 计算列表中数字平方的函数:
square = list(map(lambda x: x * x, [1, 2, 3, 4, 5]))
print(square) # 输出: [1, 4, 9, 16, 25]
- 使用 lambda 函数进行列表排序:
sorted_list = sorted([1, 5, 3, 4, 2], key=lambda x: x * -1)
print(sorted_list) # 输出: [5, 4, 3, 2, 1]
- 用于字符串的简单过滤器,过滤掉长度小于3的字符串:
filtered_strings = list(filter(lambda x: len(x) >= 3, ['a', 'ab', 'abc', 'abcd'])))
print(filtered_strings) # 输出: ['abc', 'abcd']
- 结合 map 和 reduce 函数,计算阶乘:
from functools import reduce
factorial = lambda x: reduce(lambda a, b: a * b, range(1, x + 1))
print(factorial(5)) # 输出: 120
- 在类似于
if
条件的上下文中使用 lambda 函数:
result = 'Increment' if lambda x: x < 10 else 'No Increment'
print(result) # 输出: 'No Increment'
请注意,虽然 lambda 函数可以在一行内编写简单的内联表达式,但它们的用途有限,并且通常不适合复杂的代码逻辑。对于复杂的函数,最好使用标准的 def 语句来定义。
评论已关闭