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 在某些方面而言確實是很好用,但是也不能濫用,否則可能造成程式的可讀性降低。
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 在某些方面而言確實是很好用,但是也不能濫用,否則可能造成程式的可讀性降低。
留言
張貼留言