Preface:
python有幾個內置的函數很有意思: map/filter/reduce,都是對一個集合進行處理,filter很容易理解用於過濾,map用於映射,reduce用于歸並. 是python列表方法的三架馬車.
filter(bool_func, iterable) 函數:
filter函數的功能相當於過濾器。調用一個布林函數 bool_func 來迭代遍歷每個seq中的元素;返回一個使 iterable 內所有元素返回值為 true 的 元素的序列:
如果 bool_func 參數值為None,就使用 identity() 函數,list 參數中所有為 False 的元素都將被刪除. 如下所示:
map(func, iterable, ...) 函數:
map 函數 func 作用於給定序列的每個元素進行 mapping/操作 並將 mapping/操作 後的元素以列表形式返回:
reduce(func, iterable[, initializer]) 函數:
reduce 函數,func 為二元函數 (接收兩個參數, 第一個為上一次操作結果, 另一個為序列的下一個元素),將 func 作用於 iterable 序列的元素,每次攜帶一對, 連續的將現有的結果和下一個值作用在獲得的隨後的結果上, 最後減少我 們的序列為一個單一的返回值:
在有給定參數 initializer 時 (且不是 None), initializer 將會被視為第一個作用後的元素. 也就是將 initializer 放在 iterable 最前面的元素. 當 iterable 為空時, initializer 則被返回 (等同initializer=None, 而 iterable 中只有一個元素時, 該元素被返回).
沒有留言:
張貼留言