2016年9月14日 星期三

Python 研究 - lambda 用法

Python 提供了一個簡易的 function define:lambda,用完即丟,不著痕跡。讓你實作出很簡單的 function ( 只處理一個運算式 )。

lambda param1, param2, ... : expression

#其實就等於

def fun( param1, param2, ... ) :
    return expression


其中的 expression 不能放 assignment,也就是這一行指令不能放=等號。因為,它就這麼簡單,別把它搞複雜化嘛~

Ex:

def func(x, y, z):
    return x + y + z
#>>>  func(1, 2, 3)
#>>>  6

func2 = lambda x,y,z : x+y+z
#>>>  func2(1, 2, 3)
#>>>  6

#也可以應用在 map 
my_list = [1, 2, 3]
map( lambda i: i * i, my_list )
#>>>  (1, 4, 9)


lambda 在某些方面而言確實是很好用,但是也不能濫用,否則可能造成程式的可讀性降低。

沒有留言:

張貼留言