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]
相關文章
相關標籤/搜索