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存在意義就是對簡單函數的簡潔表示。

說道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]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM