python lambda

lambda是匿名函數(shù)。前面我們提到python高階函數(shù),學(xué)習(xí)了map,reduce,filter等python內(nèi)置函數(shù)的用法。因?yàn)楦唠A函數(shù)使用函數(shù)作為參數(shù),有時(shí),我們需要一個(gè)簡(jiǎn)單的函數(shù)表達(dá)式作為參數(shù)傳遞到高階函數(shù)中,又希望代碼盡可能簡(jiǎn)介,這時(shí)候不需要定義函數(shù)名,lambda就有了它發(fā)揮的空間了。

add = lambda x,y: x+y
add(1,2) # 結(jié)果為3

在舉個(gè)例子,之前我們學(xué)習(xí)sorted對(duì)list內(nèi)進(jìn)行絕對(duì)值排序

list1 = [1,-2,3,4]
sorted(listed, key=abs)

使用lambda可以改寫成這樣

list1=[1,-2,3,4]
sorted(list1, key=lambda x: abs(x)

使用lambda改寫過(guò)后能更好的幫助我們理解高階函數(shù)。
還有一個(gè)例子,對(duì)一下list進(jìn)行排序

list1= [(1,"hello"), (2, "world")]
sorted( list1, key=lambda x: x[0]
#我們可以根據(jù)第一個(gè)或者第二個(gè)元素進(jìn)行排序
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 引言 前段時(shí)間,沒(méi)事兒時(shí)翻看了自己剛參加工作時(shí)寫的一些代碼,發(fā)現(xiàn)代碼中有好幾處分別都用到了lambda表達(dá)式,從代...
    湯尼房閱讀 7,792評(píng)論 0 2
  • 在Python中使用lambda高效操作列表.結(jié)合了包括map、filter、reduce、sorted等函數(shù). ...
    廖馬兒閱讀 609評(píng)論 0 0
  • 要點(diǎn): 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個(gè)“式” 模塊:如何使用模塊 面向?qū)ο缶幊蹋好嫦驅(qū)ο蟮母拍?、屬性?..
    victorsungo閱讀 1,697評(píng)論 0 6
  • 轉(zhuǎn)自Goodpy的python lambda介紹。 在學(xué)習(xí)python的過(guò)程中,lambda的語(yǔ)法時(shí)常會(huì)使人感到困...
    kelseyh閱讀 41,005評(píng)論 0 16
  • 我覺(jué)的這個(gè)世界有個(gè)奇怪的事情:男生單眼皮永遠(yuǎn)比雙眼皮多,女生雙眼皮永遠(yuǎn)比單眼皮的多。有木有?有木有? 身為一個(gè)單...
    胖君呀閱讀 1,392評(píng)論 1 5

友情鏈接更多精彩內(nèi)容