Python-匿名函數

lambda 函數是一種快速定義單行的最小函數,能夠用在任何須要函數的地方
 
常規版本:
def fun(x,y)
    return x*y
lambda版本:
r = lambda x,y:x*y
print r(2,3)
格式:
  lambda 參數列表:return [表達式] 變量
  因爲lambda返回的是函數對象(構建的是一個函數對象),因此須要定義一個變量去接收
 
匿名函數優勢:
  - 使用Python寫一些腳本時,使用lambda能夠省去定義函數的過程,讓代碼更加精簡。
  - 對於一些抽象的,不會被別的地方再重複使用的函數,有時候函數起個名字也是個難題,使用lambda不須要考慮命名的問題
  - 使用lambda在某些時候而後代碼更容易理解
 
搭配reduce的應用
  reduce(fun,list)
    reduce依次把list中的數字賦值給fun進行計算
    注意fun必須是連個數字間的運算,list必須是整型數字
 
例:求1到100的累加
reduce (lambda x,y:x + y,xrange(1,101)
相關文章
相關標籤/搜索