【python】三個高階函數 使用介紹map(),reduce(),filter()

一。map():入參兩個,前一個是函數,第二是是iterable.

map將序列的每個數據作用到這個函數上,並把結果作爲新的Iterator返回

PS。

it是惰性序列Iterator,因此通過list()函數讓它把整個序列都計算出來並返回一個list

二。reduce():作用與map()比較類似,但不同點是,reduce中的這個函數必須接收兩個函數,然後把這兩個參數處理的結果繼續和序列的下一個元素做累積計算(返回的最終結果是一個數據,而不是iterator)

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

三。filter():用於過濾序列

map()類似,filter()也接收一個函數和一個序列。和map()不同的是,filter()把傳入的函數依次作用於每個元素,然後根據返回值是True還是False決定保留還是丟棄該元素



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章