lambda表達(dá)式如何在Python中應(yīng)用-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān) lambda表達(dá)式如何在Python中應(yīng)用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站服務(wù)電話:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)建站網(wǎng)頁制作領(lǐng)域十載,包括成都木托盤等多個行業(yè)擁有多年設(shè)計經(jīng)驗,選擇創(chuàng)新互聯(lián)建站,為企業(yè)保駕護(hù)航。

lambda表達(dá)式,通常是在需要一個函數(shù),但是又不想費(fèi)神去命名一個函數(shù)的場合下使用,也就是指匿名函數(shù)。

lambda所表示的匿名函數(shù)的內(nèi)容應(yīng)該是很簡單的,如果復(fù)雜的話,干脆就重新定義一個函數(shù)了,使用lambda就有點過于執(zhí)拗了。

lambda就是用來定義一個匿名函數(shù)的,如果還要給他綁定一個名字的話,就會顯得有點畫蛇添足,通常是直接使用lambda函數(shù)。如下所示:

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

那么到底要如何使用lambda表達(dá)式呢?

1、應(yīng)用在函數(shù)式編程中

Python提供了很多函數(shù)式編程的特性,如:map、reduce、filter、sorted等這些函數(shù)都支持函數(shù)作為參數(shù),lambda函數(shù)就可以應(yīng)用在函數(shù)式編程中。如下:

# 需求:將列表中的元素按照絕對值大小進(jìn)行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))

運(yùn)行結(jié)果:

[0, -1, -2, 3, -4, 5, -6]

當(dāng)然,也可以如下:

list1 = [3,5,-4,-1,0,-2,-6]
def get_abs(x):
  return abs(x)
sorted(list1,key=get_abs)

只不過這種方式的代碼看起來不夠Pythonic

2、應(yīng)用在閉包中

def get_y(a,b):
   return lambda x:ax+b
y1 = get_y(1,1)
y1(1) # 結(jié)果為2

當(dāng)然,也可以用常規(guī)函數(shù)實現(xiàn)閉包,如下:

def get_y(a,b):
  def func(x):
    return ax+b
  return func
y1 = get_y(1,1)
y1(1) # 結(jié)果為2

上述就是小編為大家分享的 lambda表達(dá)式如何在Python中應(yīng)用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:lambda表達(dá)式如何在Python中應(yīng)用-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://muchs.cn/article36/egdsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、微信公眾號關(guān)鍵詞優(yōu)化、軟件開發(fā)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)