文中與你一起探尋Python中的lambda變量,使你以有限的時間搞清楚這一函數的基本原理。也可以通過碎片化時長夯實這一變量,使你在解決操作過程中更有效
你就應該聽過,運用Python,能夠讓你解決一整天的反復任務量,減少到一會乃至較短。此后釋放工作時間,科學研究一個更高效率方式方法。更進一步提高工作效率,讓運行更出色。這個不是廣告宣傳,這也是石錘圖片。
一、lambda函數的概念
lambda函數是Python常用的內置函數,也稱為匿名函數。與普通變量比照,它僅有函數體,省去了def和return,促使構造看起來更加精減。其基本上啟用詞法如下所示:
lambda[var1[,var2,…varn]]:expression
[var1[,var2,…varn]]:形式參數,可以看作入參,供關系式應用。
expression:函數表達式,最終的結果為lambda函數的返回值。
二、lambda變量案例
lambda變量與普通變量比照
定義一個lambda函數,將其賦值給一個變量,通過這個變量間接調用該函數。
fun_1=lambdaa,b:a*2+b*3 fun_1(1,2)
得到結果:
8
其中a,b是形式參數,即入參,供表達式a2+b3使用。
定義一個普通函數,語句如下:
deffun1(a,b): returna*2+b*3 fun1(1,2)
得到結果:
8
可以發現應用lambda函數和普通函數的區別是少了def和return語句,且lambda函數直接寫在了一行,顯得更加精簡。不過在這里還沒有體現出匿名的屬性。
求一個一元二次方程
在上初中的時候,我們常常可以看到這樣一個題目:F(x)=ax^2+bx+c,求當a=2,b=3,c=4時,F(-1)、F(2)、F(5)的值。
方法一:應用lambda函數求解
F_x=lambdax:2*x**2+3*x+4 print(F_x(-1)) print(F_x(2)) print(F_x(5))
得到結果:
3
18
69
方法二:應用普通函數求解
defF_x(x): return2*x**2+3*x+4 print(F_x(-1)) print(F_x(2)) print(F_x(5))
得到結果:
3
18
69
可以發現應用lambda函數和普通函數的求解結果是一樣的。
和高階函數filter配合使用
高階函數filter在后續文章中會詳細說明,它主要用來對列表進行過濾,挑選出列表中符合特定條件的值。比如想挑選出數列中3的倍數,語句如下:
cs_data=list([2,8,11,12,15,6,1,7]) list(filter(lambdax:x%3==0,cs_data))
得到結果:
[12,15,6]
用常識也可以看出,最后的結果是挑選出了數列cs_data中3的倍數。和高階函數配合使用時,lambda函數的優點就進一步凸顯出來了。這時不需要提前定義一個普通函數,直接在高階函數內部將lambda函數的結果作為參數傳遞給高階函數即可,也真正做到了匿名。
和sorted函數配合使用
如果我們想對一個數列按數值的絕對值進行排列,可以應用sorted函數和lambda函數配合實現,語句如下:
my_list=[3,5,-2,10,-6,8] sorted(my_list,key=lambdax:abs(x))
可以發現得到的結果是按數值的絕對值排序后的數列。
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128814.html
摘要:輔之以事件循環,協程可用于異步處理,尤其是在中。當前支持的協程基于增強型生成器,于版本開始采用。新的特性中,異步還有兩種新用途異步內容管理器和迭代器。 現在 Python 已經支持用協程進行異步處理。但最近有建議稱添加協程以全面完善 Python 的語言結構,而不是像現在這樣把他們作為生成器的一個類型。此外,兩個新的關鍵字———異步(async)和等待(await),都該添加到 Pyt...
摘要:沒想到老師下課點名了,老師李。一哥們答到老師咦,李,你站起來一下這哥們低著腦袋站起來了,老師表格上面寫的李是個女的啊這是不知道從哪個角落傳來一聲討厭啊,人家就是個女的了啦。 SpliderApi https://github.com/ecitlm/Spl... 基于nodejs 的爬蟲 API接口項目,包括前端開發日報、知乎日報、前端top框架排行、妹紙福利、搞笑視頻/ 熱點新聞資訊 ...
摘要:前言本文純屬個人平時實踐過程中的一些經驗總結,算是一點點小技巧吧,不是多么高明的技術,如果對你有幫助,那么不勝榮幸。由于涉嫌投機取巧,可能會帶來一些不符合規范的副作用,請根據項目要求酌情使用。 前言 本文純屬個人平時實踐過程中的一些經驗總結,算是一點點小技巧吧,不是多么高明的技術,如果對你有幫助,那么不勝榮幸。 本文不涉及罕見API使用方法等,大部分內容都是基于對vue的一些實踐而已。...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02