python中lambda表达式应用

对于简单的函数,也存在一种简便的表示方式,即:lambda表达式数组

#普通函数
1
def func(a): 2 return a+1 3 print 'test1_func0:',func(1000)
4
#lambda表达式
5 func0 = lambda a:a+1 6 print 'test2_func0:',func0(1000)

上面这种方法,都实现了将1000+1的结果打印出来这个功能,可是用下面函数

lambda存在乎义就是对简单函数的简洁表示。spa

说道lambda,这里再赠送一些能够给lambda加buff小伙伴:code

1.map函数,咱们使用map函数将会对列表中的全部元素进行操做。map有两个参数(函数,列表),它会在内部遍历列表中的每个元素,执行传递过来的函数参数。在输出到新列表中。blog

1 li = [11, 22, 33]
2 new_list = map(lambda a: a + 100, li)
输出:[111, 122, 133]

固然,map还能够完成多个数组的相加:class

1 li = [11, 22, 33]
2 sl = [1, 2, 3]
3 new_list = map(lambda a, b: a + b, li, sl)
4 print new_list
输出:[12, 24, 36]

2.reduce函数,对于序列内全部元素进行累计操做:test

1 lst = [11,22,33]
2 func2 = reduce(lambda arg1,arg2:arg1+arg2,lst)
3 print 'func2:',func2
输出:func2: 66

3.filter函数,他能够根据条件对数据进行过滤:lambda

1 li = [11, 22, 33]
2 new_list = filter(lambda arg: arg > 22, li)
3 print new_list
输出:[33]
相关文章
相关标签/搜索