日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python Lambda函数的几种使用方法

發布時間:2025/3/20 python 8 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python Lambda函数的几种使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在進行編程時,一般我們會給一個函數或者變量起一個名字,該名稱是用于引用或尋址函數變量。但是有一個低調的函數,你不需要賦予它名字,因此該函數也叫匿名函數。該函數就是Python中的Lambda函數,下面就來為大家解析lambda函數的基本使用方法。

為什么要使用Python Lambda函數?

匿名函數可以在程序中任何需要的地方使用,但是這個函數只能使用一次,即一次性的。因此Python Lambda函數也稱為丟棄函數,它可以與其他預定義函數(如filter(),map()等)一起使用。相對于我們定義的可重復使用的函數來說,這個函數更加簡單便捷。

如何在Python中編寫Lambda函數?

Lambda函數是使用lambda運算符創建的,其語法如下:

語法: lambda參數:表達式

Python lambda函數可以包含任意多的參數,但它只有一個表達式。輸入或參數可以從0開始。就像任何其他函數一樣,lambda函數也可以是沒有輸入的。下面為大家舉個例子:假如我們計算一個數的平方,則程序為:

a = lambda x: x*x print(a(3)輸出結果為:9

相應的,如果我們要計算兩個數相乘,則:

a = lambda x,y: x*y print(a(3,7))輸出結果為:21

在這兩個例子中,第一個示例lambda函數只使用一個表達式,而第二個示例有兩個參數。而且這兩個函數都有一個表達式后跟參數。因此有多種邏輯關系表達式的時候不能使用lambda函數。

匿名函數加速Python運行

在比較所需的代碼量之前,讓我們首先記下正常函數的語法,并將其與前面描述的lambda函數進行比較。Python中的任何普通函數都是使用def關鍵字定義的,具體語法如下所示:

def function_name(參數):statement(s)

因此lambda函數所需的代碼量遠遠少于普通函數,也就是說使用Lambda可以精簡代碼,加速Python程序運行。讓我們舉個例子對比一下:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #——————————一般函數 def my_func(x)return x * x print(my_func(3)) #————————Lambda函數 a = lambda x,y: x*y print(a(3,7))

在上面的示例中,我們需要在my_func中使用return語句來計算3的平方值。相反,lambda函數不使用此return語句,因此Lambda函數計算的速度快于my_func函數。

Python Lambda函數的幾種使用方法

示例一:定義一個普通的python函數并嵌入Lambda,函數接收傳入的一個參數x。然后將此參數添加到lambda函數提供的某個未知參數y中求和。只要我們使用new_func(),就會調用new_func中存在的lambda函數。每次,我們都可以將不同的值傳遞給參數。

def new_func(x)return(lambda y:x + y) t = new_func(3) u = new_func(2) print(t(3)) print(u(3))輸出結果為:65

示例二:Lambda函數+filter函數

filter()方法用于根據一定的條件對給定的列表進行過濾。使用示例如下:

my_list = [2,3,4,5,6,7,8] new_list = list(filter(lambda a:(a / 3 == 2),my_list)) print(new_list)輸出結果為:[6]

此示例中my_list是一個列表,它作為參數傳遞給filter函數。此函數使用lambda函數檢查列表中的值是否滿足除以3等于2的條件,輸出列表中滿足條件的值。

示例三:Lambda函數+map函數

Python中的map()函數是一個將給定的列表的值依次在所定義的函數關系中迭代并返回一個新列表。例如:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' my_list = [2,3,4,5,6,7,8] new_list = list(map(lambda a:(a / 3= 2),li)) print(new_list)輸出結果為:[真,真,真,真,假,真,真]

示例四:Lambda函數+reduce函數

reduce() 函數會對參數序列中元素進行累積。使用示例如下:

from functools import reduce reducelambda a,b:a + b,[23,21,45,98])輸出結果為:187

總結

以上是生活随笔為你收集整理的Python Lambda函数的几种使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。