reduce函數和lambda表達式的學習

reduce函數將一個數據集合(鏈表,元組等)中的全部數據進行下列操做:用傳給 reduce 中的函數 function(有兩個參數)先對集合中的第 一、2 個元素進行操做,獲得的結果再與第三個數據用 function 函數運算,最後獲得一個結果。
例以下面代碼:php

list = [1,2,3,4]
t = reduce(lambda x,y:x*y,list)
print(t)

上述代碼傳給reduce的函數是作乘法,數據集是list,那麼reduce函數的做用就是將數據集中的數據依次相乘,最後打印出的結果就是24。
凡是要對一個數據集合進行操做的,並且須要返回一個統計結果的,可以用循環或者遞歸方式解決的問題,通常狀況下均可以用reduce方式實現。
在python 3.0.0.0之後, 若是要用它就得from functools import reduce。python

lambd表達式是一種精簡函數的表達方法,省略了函數的定義,命名等問題。以下函數:函數

def exp(n):
    return n*n

exp(6)返回36
而用lambda表示:spa

num = lambda n:n*n

num(6)也是36code

相關文章
相關標籤/搜索