99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Python中為什么使用lambda

jf_78858299 ? 來源:人工智能知識分享 ? 作者:人工智能知識分享 ? 2023-04-03 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通常來說,lambda起到了一種函數(shù)速寫的作用,允許在使用的代碼內嵌入一個函數(shù)的定義。在你僅需要嵌入小段可執(zhí)行代碼的情況下它們會帶來一個更簡潔的代碼結構。

lambda通常用來編寫跳轉表(jump table),也就是行為的列表或字典,能夠按照需要執(zhí)行相應的動作。如下段代碼所示。

L = [lambda x: x ** 2, # Inline function definition

lambda x: x ** 3,

 lambda x: x ** 4]         # A list of 3 callable functions

for f in L:

print(f(2))                # Prints 4,8,16

print(L[0](3)) # Prints 9

當需要把小段的可執(zhí)行代碼編寫進def語句從語法上不能編寫進的地方時,lambda表達式作為def的一種速寫來說是最為有用的。例如,上面的代碼片段,通過在列表常量中嵌入lambda表達式創(chuàng)建一個含有三個函數(shù)的列表。對等的def代碼可能需要在想要使用的環(huán)境之外有臨時性函數(shù)名稱和函數(shù)定義。

def f1(x): return x ** 2

def f2(x): return x ** 3 # Define named functions

def f3(x): return x ** 4

L = [f1,f2,f3] # Reference by name

for f in L:

print(f(2))                # Prints 4,8,16

print(L[0](3)) # Prints 9

實際上,我們可以用Python中的字典或者其他的數(shù)據(jù)結構來構建更多種類的行為表,從而做同樣的事情。下面給出另一個例子:

key = 'got'

{'already': (lambda: 2 + 2),

...'got': (lambda: 2 * 4),

...'one': (lambda: 2 ** 6)}[key]

name

for f in L:

print(f(2))                # Prints 4,8,16

print(L[0](3)) # Prints 9

這里,當Python創(chuàng)建這個字典的時候,每個嵌套的lambda都生成并留下了一個在之后能夠調用的函數(shù)。如果不是用lambda做這種工作,需要使用三個文件中其他地方出現(xiàn)過的def語句來替代,也就是在這些函數(shù)將會使用的那個字典外的某處需要定義這些函數(shù)。

def f1(): return 2 + 2...

def f2(): return 2 * 4

...

def f3(): return 2 ** 6

...

key = 'one'

{'already': f1,'got': f2,'one': f3}[key]()

64

同樣,上面代碼會實現(xiàn)相同的功能,但是def也許會出現(xiàn)在文件中的任意位置,即使它們只有很少的代碼。類似剛才lambda的代碼,提供了一種特別有用的可以在單個情況出現(xiàn)的函數(shù):如果這里的三個函數(shù)不會在其他的地方使用到,那么將它們的定義作為lambda嵌入在字典中就是很合理的了。不僅如此,def格式要求為這些小函數(shù)創(chuàng)建變量名,這些變量名也許會與這個文件中的其他變量名發(fā)生沖突。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關注

    關注

    3

    文章

    4379

    瀏覽量

    64833
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70693
  • Lambda
    +關注

    關注

    0

    文章

    30

    瀏覽量

    10219
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Python面試必看的10個問題

    :delaelse:last=aprint(a)10、下面的代碼Python2的輸出是什么?解釋你的答案defdiv1(x,y): print "%s/%s = %s" % (x
    發(fā)表于 02-28 17:00

    lambda函數(shù)基礎

    lambda函數(shù)基礎lambda與def
    發(fā)表于 12-29 06:22

    python匿名函數(shù)的使用

    ,為什么今天我們要介紹它呢?首先我們要知道 lambda 是一個表達式,而不是一個語句。正因為這個特點,我們可以一些特殊的場景中去使用它。
    發(fā)表于 03-02 16:42

    python高階函數(shù)

    注意的是,以上示例是 Python2.x 環(huán)境下演示的。而在 Python3.x ,卻有所不同,你可以自己嘗試一下。這里總結一下:第一點,map 和 filter 函數(shù)返回的都不再
    發(fā)表于 03-02 16:47

    LAMBDA算法衛(wèi)星導航定位的應用研究

    衛(wèi)星導航定位,基于載波相位觀測值的RTK定位技術能夠達到厘米級的定位精度,其核心技術是整周模糊度的快速解算。采用LAMBDA方法能快速解算整周模糊度完成初始化,實時周跳檢
    發(fā)表于 07-06 16:39 ?22次下載

    關于Python的5種高級特征應用

    本文主要講解 Python 的 5 種高級特征,以及它們的用法。 1. Lambda 函數(shù) Lambda 函數(shù)是一種比較小的匿名函數(shù)匿名是指它實際上沒有函數(shù)名。 Python 函數(shù)通常
    的頭像 發(fā)表于 09-27 15:56 ?1541次閱讀

    簡潔編寫Python 語法的7種技巧分享

    Python 是一門用途廣泛、易讀、而且容易入門的編程語言。但同時 python 語法也允許我們做一些很奇怪的事情。 1、使用 lambda 表達式重寫多行函數(shù) 眾所周知 python
    的頭像 發(fā)表于 12-20 11:03 ?1017次閱讀

    Anaconda安裝python包seaborn

    Anaconda安裝python包seaborn(現(xiàn)代電源技術題庫)-Anaconda安裝pyt
    發(fā)表于 09-18 15:01 ?5次下載
    <b class='flag-5'>在</b>Anaconda<b class='flag-5'>中</b>安裝<b class='flag-5'>python</b>包seaborn

    抽樣Python是如何實現(xiàn)的

    今天來和大家聊聊抽樣的幾種常用方法,以及Python是如何實現(xiàn)的。
    的頭像 發(fā)表于 08-05 10:59 ?1474次閱讀

    推薦一個Python超級好用的內置函數(shù)lambda

    Python當中,我們經(jīng)常使用lambda關鍵字來聲明一個匿名函數(shù),所謂地匿名函數(shù),通俗地來講就是沒有名字的函數(shù)。
    的頭像 發(fā)表于 09-13 18:09 ?1206次閱讀
    推薦一個<b class='flag-5'>Python</b>超級好用的內置函數(shù)<b class='flag-5'>lambda</b>

    PythonLambda表達式

    Python Lambda 表達式是一種非常強大的工具,它可以讓你快速創(chuàng)建小型匿名函數(shù),而不需要顯式地定義函數(shù)名稱。Lambda
    的頭像 發(fā)表于 04-19 15:49 ?1099次閱讀

    網(wǎng)絡工程師學Python-Lambda表達式

    Python Lambda 表達式是一種非常強大的工具,它可以讓你快速創(chuàng)建小型匿名函數(shù),而不需要顯式地定義函數(shù)名稱。Lambda
    的頭像 發(fā)表于 04-19 15:51 ?1103次閱讀

    什么是Lambda函數(shù)

    和 map() 方法的聯(lián)用 lambda 函數(shù)和 apply() 方法的聯(lián)用 什么時候不適合使用 lambda 方法 什么是 Lambda 函數(shù)
    的頭像 發(fā)表于 10-17 11:27 ?1627次閱讀

    PythonAI的應用實例

    Python人工智能(AI)領域的應用極為廣泛且深入,從基礎的數(shù)據(jù)處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python
    的頭像 發(fā)表于 07-19 17:16 ?2685次閱讀

    亞馬遜云科技推出Amazon Lambda SnapStart功能

    亞馬遜云科技推出Amazon Lambda SnapStart,大幅提升Java Lambda函數(shù)啟動性能   北京,2024年10月29日 —— 亞馬遜云科技近日宣布,與光環(huán)新網(wǎng)和西云數(shù)據(jù)
    的頭像 發(fā)表于 10-30 10:59 ?723次閱讀