lambda函数的语法只包含一个语句,如下:
lambda 参数1,参数2,参数3,参数4… : 表达式
注:lambda函数的参数个数不限。可以是1个,2个,3个也可以是多个。
例1
# 编写匿名函数 sum
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )
执行结果: 相加后的值为 : 30
相加后的值为 : 40
示例二:Lambda函数+filter函数
此函数使用匿名函数lambda检查列表中的值是否满足除以3等于2的条件,输出列表中满足条件的值。
filter()方法用于根据一定的条件对给定的列表进行过滤。使用示例如下:
my_list = [2,3,4,5,6,7,8]
# 参数为a 表达式为(a/3==2)
new_list = list(filter(lambda a:(a / 3 == 2),my_list))
print(new_list)
输出结果为:[6]
示例三:Lambda函数+map函数
Python中的map()函数是一个将给定的列表的值依次在所定义的函数关系中迭代并返回一个新列表。例如:
my_list = [2,3,4,5,6,7,8]
new_list = list(map(lambda a:(a / 3!= 2),my_list))
print(new_list)
输出结果为:[真,真,真,真,假,真,真]
示例四:Lambda函数+reduce函数
reduce() 函数会对参数序列中元素进行累积。使用示例如下:
from functools import reduce
reduce(lambda a,b:a + b,[23,21,45,98])
输出结果为:187