談Python: Lambda, Map , Filter 及 Reduce
Contents
從大二開始研究怎麼當一名駭客之後,開始接觸Python, 出社會後也常常用Python 開發我個人的工具包,可說是這幾年來個人 Python 的功力大漲!
最近在邊寫邊查資料的過程當中,認識到Python的 Lambda,Map和Reduce
於是,就讓我寫一篇文章記錄這一切吧 ^^
Lambda
此 Lambda 不是 AWS的Lambda ,我也不知道為什麼這裡要取和AWS的Lambda一樣的名稱哈哈,總之他是一種Python裡面的表示式,可以更加簡便、更加Function programming 的呈現程式碼,不多贅述,我最喜歡 Show me the code了!
|
|
其實蠻落落長的,所以Python說,要有Lambda , 就有Lambda
|
|
好了,我附上參考網址結束這一切:
Map和Reduce
Map
, Filter
和 Reduce
我想要放在一起說,如果常寫Function Programming的對這兩個單字一定不陌生,Laravel的Collection
也有這些方法。沒錯,他們的用法其實和他們的單字意思很像呢!
|
|
map
其實就會迭代列表中的每一個項目,最後回傳出來的是一個map
的物件,記得之後要用list
才能把它印出來喔
|
|
filter
其實和map
很像,只是它是過濾項目,一樣他是個filter
的物件,一樣需要list
,所以你的function裡面請回傳出boolean
,這我就不多說明啦~
|
|
至於 reduce
需要先 import
喔,只要有一個有兩個參數的function , 他就會迭代這清單的項目做出最後的結果
參考網址:
小君曰:Python也能Function Programming !