# lambda & apply [ Python ] ## lambda lambda允許快速定義單行函式,和 def ( ) 的差別在於: 1. def 的建立方法是有名稱的,但是lambda沒有。 2. lambda返回的函式物件並沒有一個識別的符號;而def( )是將物件賦值給一個變數。 3. lambda是一個表達式,def是一個語句。 4. lambda後只能有一個表示式,但def可以有多個。 5. lambda中不能使用if、for、print等,但def可以。 6. lambda只能定義簡單的函式,而def可以定義複雜的函式。 ```python #單引數 g = lambda x: x ** 2 print(g(3)) #9 #多引數 h = lambda x, y, z : (x+y)**z print(h(1,2,2)) #9 ``` :::info :bulb:引數 參數是屬於函式定義的屬性, 而引數是呼叫函式時提供給函式的實際數值 ::: lambda也可以運用在list裡 ```python map( lambda x : x*x ,y for y in range(10)) ``` 如同 ``` def sq(x): return x * x map(sq, [y for y in range(10)]) ``` ## apply ### 參數介紹 DataFrame.apply(func, axis, raw, result_type, args=(), **kwds) | 參數 | 參數介紹 | |:----------- |:--------------------------------------------------------------- | | func | 要應用於每一行或每一列的函式 | | axis | 沿著行(axis=0)或列(axis=1)來應用函式 | | raw | 以Series物件(raw = False)或ndarray(raw = True)形式傳遞的行 / 列 | | result_type | | | args | | | **kwds | Text | <br> ###### tags: `Python`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up