對於簡單的函數,也存在一種簡便的表示方式,即: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存在意義就是對簡單函數的簡潔表示。
說道lambda,這里再贈送一些可以給lambda加buff小伙伴:
1.map函數,我們使用map函數將會對列表中的所有元素進行操作。map有兩個參數(函數,列表),它會在內部遍歷列表中的每一個元素,執行傳遞過來的函數參數。在輸出到新列表中。
1 li = [11, 22, 33] 2 new_list = map(lambda a: a + 100, li)
輸出:[111, 122, 133]
當然,map還可以完成多個數組的相加:
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函數,對於序列內所有元素進行累計操作:
1 lst = [11,22,33] 2 func2 = reduce(lambda arg1,arg2:arg1+arg2,lst) 3 print 'func2:',func2
輸出:func2: 66
3.filter函數,他可以根據條件對數據進行過濾:
1 li = [11, 22, 33] 2 new_list = filter(lambda arg: arg > 22, li)
3 print new_list
輸出:[33]