国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 中的lambda函數介紹

2020-02-15 23:08:18
字體:
來源:轉載
供稿:網友

Lambda函數,即Lambda 表達式(lambda expression),是一個匿名函數(不存在函數名的函數),Lambda表達式基于數學中的λ演算得名,直接對應于其中的lambda抽象(lambda abstraction)。

一、lambda函數也叫匿名函數,即,函數沒有具體的名稱。先來看一個最簡單例子:

def f(x):return x**2print f(4)

Python中使用lambda的話,寫成這樣

g = lambda x : x**2print g(4)

二、lambda和普通的函數相比,就是省去了函數名稱而已,同時這樣的匿名函數,又不能共享在別的地方調用。

其實說的沒錯,lambda在Python這種動態的語言中確實沒有起到什么驚天動地的作用,因為有很多別的方法能夠代替lambda。

1. 使用Python寫一些執行腳本時,使用lambda可以省去定義函數的過程,讓代碼更加精簡。

2. 對于一些抽象的,不會別的地方再復用的函數,有時候給函數起個名字也是個難題,使用lambda不需要考慮命名的問題。

3. 使用lambda在某些時候讓代碼更容易理解。

lambda基礎

lambda語句中,冒號前是參數,可以有多個,用逗號隔開,冒號右邊的返回值。lambda語句構建的其實是一個函數對象,見證一下:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]>>> print filter(lambda x: x % 3 == 0, foo)[18, 9, 24, 12, 27]>>> print map(lambda x: x * 2 + 10, foo)[14, 46, 28, 54, 44, 58, 26, 34, 64]>>> print reduce(lambda x, y: x + y, foo)139

在對象遍歷處理方面,其實Python的for..in..if語法已經很強大,并且在易讀上勝過了lambda。

defaultdict是字典類型,可以為defaultdict設置默認值,可以通過lambda設置默認值。

下面舉幾個例子:

from collections import *             x = defaultdict(lambda:0) //默認值是0print x[0]y =defaultdict(lambda:defaultdict(lambda:0))//默認值是一個字典,字典的默認值是0print y[0]z = defaultdict(lambda:[0,0,0])//默認值是一個列表,[0,0,0].print z[0]

輸出結果:

0defaultdict(<function <lambda> at0x7f097797af50>, {})[0, 0, 0]

總結

以上所述是小編給大家介紹的Python lambda函數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合川市| 于田县| 石泉县| 甘泉县| 保定市| 郎溪县| 巩义市| 咸丰县| 色达县| 五莲县| 南郑县| 富锦市| 屯昌县| 卢龙县| 通州区| 博野县| 涪陵区| 汤阴县| 西华县| 增城市| 襄城县| 拜泉县| 肥西县| 邓州市| 额尔古纳市| 沙坪坝区| 洛宁县| 安新县| 莒南县| 云林县| 南溪县| 镇宁| 原阳县| 海南省| 琼中| 普洱| 文水县| 聂荣县| 瑞丽市| 宜宾县| 汝城县|