不可不知的Python函数——lambda表达式
Python中的lambda表达式是一种定义简单函数的方式,它允许我们定义一些没有名称的小型匿名函数。常用于函数式编程,也可以用于简化代码中的一些小函数。
lambda表达式的定义方式:
lambda 参数列表: 返回值
例如,下面是一个简单的lambda表达式:
add = lambda x, y: x + y
print(add(2,3)) # 输出:5
这个lambda表达式接收两个参数x和y,返回它们的和。可以将它赋值给一个变量,然后像普通函数一样调用它。
lambda表达式比较适合简单的函数,如果函数的逻辑太复杂,还是应该使用普通函数实现。
lambda表达式也可以和Python内置函数一起使用,例如filter()和map():
filter函数使用lambda表达式来筛选列表中符合条件的元素:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # 输出:[2, 4, 6, 8, 10]
这个lambda表达式的逻辑非常简单,只是判断一个数是否为偶数。filter()函数接收一个函数和一个可迭代对象作为参数,返回一个新的可迭代对象,其中只包括符合条件的元素。
map函数使用lambda表达式对列表中的每个元素进行操作:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
square = map(lambda x: x**2, numbers)
print(list(square)) # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
这个lambda表达式将传入的数平方,map()函数返回一个新的可迭代对象,其中每个元素都是原来可迭代对象中的元素进行了某种操作后得到的结果。
总的来说,lambda表达式是一种简单、方便、灵活的定义小型函数的方式,可以用于函数式编程和简化代码。如果函数的逻辑比较复杂,还是应该使用普通函数实现。
