python-lambda用法
前言:
lambda函式也叫匿名函式,即,函式沒有具體的名稱。
一、基礎
lambda語句構建的其實是一個函式物件。匿名函式有個限制,就是隻能有一個表示式,不用寫return,返回值就是該表示式的結果。
lambda(a,b: a+b)
#關鍵字lambda表示匿名函式,冒號前是引數,可以有多個,用逗號隔開,冒號右邊的返回值。
lambda優點:
1、使用Python寫一些執行指令碼時,使用lambda可以省去定義函式的過程,讓程式碼更加精簡。
2、對於一些抽象的,不會別的地方再複用的函式,有時候給函式起個名字也是個難題,使用lambda不需要考慮命名的問題。
3、使用lambda在某些時候讓程式碼更容易理解。
舉一個簡單的例子: def f(x): return x**2 print f(4) Python中使用lambda的話,寫成這樣 g = lambda x : x**2 print g(4)
二、進階-內建函式
1、map()
遍歷序列,對序列中每個元素進行操作,最終獲取新的序列。
li = [11, 22, 33] sl = [1, 2, 3] new_list = map(lambda a, b: a + b, li, sl) print(list(new_list)) 結果輸出為: >>>[12,24,36]
2、reduce()
對於序列內所有元素進行累計操作
from functools import reduce li = [11,22,33] result = reduce(lambda a,b:a+b,li) # reduce的第一個引數,函式必須要有兩個引數 # reduce的第二個引數,要迴圈的序列 # reduce的第三個引數,初始值 print(result) 輸出結果: >>>66
3、filter()
對於序列中的元素進行篩選,最終獲取符合條件的序列
li = [11,22,33] new_list = filter(lambda a:a>22,li) print(list(new_list)) #filter第一個引數為空,將獲取原來序列 輸出結果: >>>[33]
以上~
作者:擱淺
出處: http://www.cnblogs.com/xiaoxi-3-/
如果對您有幫助,請關注我的同名簡書:https://www.jianshu.com/u/da1677475c27
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
相關文章
- with用法
- Qdrant用法;Qdrant在langchain裡的用法LangChain
- sessionStorage 用法Session
- WebSocket 用法Web
- SQLserver With As 用法SQLServer
- JavaScript用法JavaScript
- requestAnimationFrame用法requestAnimationFrame
- requestAnimationFrame()用法requestAnimationFrame
- JavaScript this用法JavaScript
- quilt用法UI
- WITH AS 用法-CTE
- ORACLE WITH AS 用法Oracle
- dvbsnoop用法OOP
- ioctlsocket() 用法TLS
- seqkit用法
- GPG 用法
- typedef用法
- union用法
- JOptionPane用法
- enum用法
- Yii2-application用法 (Yii::$app用法)APP
- SQL AS 的用法SQL
- rsync 用法教程
- SUBMIT 的用法MIT
- Vue 元件用法Vue元件
- Promise基本用法Promise
- indexOf()的用法Index
- URLSearchParams 物件用法物件
- vue --ref用法Vue
- Promise 用法解析Promise
- Go 中 ...用法Go
- Laravel scope用法Laravel
- jQuery $.each用法jQuery
- vue slot 用法Vue
- Git基本用法Git
- SVG <markers>用法SVG
- JavaScript delete用法JavaScriptdelete
- phpstrtr()用法PHP