欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python匿名函數(shù)lambda的用法-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Python匿名函數(shù)lambda的用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Python匿名函數(shù)lambda的用法”吧!

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)三門峽免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

Python內(nèi)置了多個關(guān)鍵字,今天我們來介紹下其中非常好用的lambda關(guān)鍵字,它可以用一個表達式來表示函數(shù)。

lambda 表達式的語法格式:lambda [parameter_list] : expression

從語法格式可以看出 lambda 表達式的幾個要點:

  • lambda 表達式必須使用 lambda 關(guān)鍵字定義

  • lambda 表達式只能是單行表達式

  • parameter_list是參數(shù)列表

  • expression是表達式

lambda 表達式的本質(zhì)是匿名的、單行函數(shù)體的函數(shù),因此 lambda 表達式也稱為lambda函數(shù)。作為函數(shù),它的輸入是傳入到參數(shù)列表argument_list的值,輸出是根據(jù)表達式expression計算得到的值。

下面是一些lambda函數(shù)示例:

lambda x,y:x*y # 函數(shù)輸入為x和y,輸出為它們的積x*y
lambda :None # 函數(shù)沒有輸入?yún)?shù),輸出是None
lambda *args:sum(args) # 函數(shù)輸入為任意個數(shù)的參數(shù),輸出是它們的和(隱性要求輸入?yún)?shù)必須能夠進行加法運算)
lambda **kwargs:5 # 輸入為任意鍵值對參數(shù),輸出為5

lambda 表達式也可以寫成函數(shù)的形式。例如以上 lambda 表達式lambda x,y:x*y可改寫為函數(shù)形式:

def product(x,y):
 return x*y

product()函數(shù)只有一行代碼,使用 lambda 表達式可以省去def定義函數(shù)的過程,起到一個函數(shù)速寫的作用。不過總體來說,函數(shù)比 lambda 表達式的適應(yīng)性更強,用來處理更強大的任務(wù)。lambda 表達式主體是一個表達式,而不是一個代碼塊,僅僅能在lambda表達式中封裝有限的邏輯進去。

lambda語法是固定的,本質(zhì)上只能定義一個lambda函數(shù)。根據(jù)定義的lambda函數(shù)可擴展為以下幾種用法:

lambda語法是固定的,本質(zhì)上只能定義一個lambda函數(shù)。根據(jù)定義的lambda函數(shù)可擴展為以下幾種用法:

1 . 將lambda函數(shù)賦值給一個變量,通過這個變量間接調(diào)用該lambda函數(shù)。比如定義了乘法功能的lambda函數(shù)lambda x,y:x*y,并將其賦值給變量product,這樣變量product便成為具有乘法功能的函數(shù),如下所示:

product = lambda x,y:x*y
print(product(2,5)) # 10

2 . 將lambda函數(shù)作為參數(shù)傳遞給其他函數(shù)。Python內(nèi)置函數(shù)中部分可接收函數(shù)作為參數(shù)。典型的有filter()、map()、sorted()、reduce()等,大體原理相近,此處介紹以內(nèi)置函數(shù)map()來調(diào)用lambda 表達式。

map函數(shù)的第一個參數(shù)需要傳入函數(shù),此處使用lambda函數(shù)用于指定對列表中每一個元素的共同操作,這樣程序更加簡潔,而且性能更好。如下所示:

# 傳入計算乘法的lambda表達式作為參數(shù)
result = map(lambda x,y: x*y, range(8), range(8))
print([e for e in result]) # [0, 1, 4, 9, 16, 25, 36, 49]
result = map(lambda x,y: x*y if x % 2 == 0 else 0, range(8), range(8))
print([e for e in result]) # [0, 0, 4, 0, 16, 0, 36, 0]

到此,相信大家對“Python匿名函數(shù)lambda的用法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁名稱:Python匿名函數(shù)lambda的用法-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article12/eoegc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈Google移動網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)網(wǎng)站營銷網(wǎng)站導(dǎo)航

廣告

聲明:本網(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)

搜索引擎優(yōu)化