精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
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程序運行。讓我們舉個例子對比一下:#——————————一般函數

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函數視頻資料免費分享給大家,希望可以幫助到大家。轉發此文,關注并私信小編“學習”即可免費獲取

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))

輸出結果為:6,5示例二: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()函數是一個將給定的列表的值依次在所定義的函數關系中迭代并返回一個新列表。例如: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

reduce(lambda a,b:a + b,[23,21,45,98])

輸出結果為:187

參考

https://medium.com/edureka/python-lambda-b84d68d449a0

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python入門進階學習必備函數!
Python 函數式編程,看這一篇就夠了!
Python的高級特征你知多少?來對比看看
Python特殊語法:filter、map、reduce、lambda
Python3基礎之函數用法
10分鐘快速入門Python函數式編程
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 龙口市| 唐河县| 湘潭县| 新营市| 项城市| 昌都县| 衢州市| 岑溪市| 镇康县| 西宁市| 海淀区| 临猗县| 大庆市| 扶余县| 青冈县| 新巴尔虎左旗| 井冈山市| 公安县| 阳谷县| 霍山县| 吴江市| 三河市| 海淀区| 江口县| 南雄市| 文登市| 齐齐哈尔市| 福安市| 黑龙江省| 邳州市| 南宫市| 芷江| 青铜峡市| 大渡口区| 沁阳市| 嵊州市| 新竹县| 桂林市| 嘉荫县| 黔西县| 明星|