佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > python3 lambda表達(dá)式詳解

python3 lambda表達(dá)式詳解

熱門(mén)標(biāo)簽:電話運(yùn)營(yíng)中心 客戶(hù)服務(wù) 百度AI接口 企業(yè)做大做強(qiáng) 語(yǔ)音系統(tǒng) Win7旗艦版 呼叫中心市場(chǎng)需求 硅谷的囚徒呼叫中心

技術(shù)背景

lambda表達(dá)式本身是一個(gè)非?;A(chǔ)的python函數(shù)語(yǔ)法,其基本功能跟使用def所定義的python函數(shù)是一樣的,只是lambda表達(dá)式基本在一行以?xún)?nèi)就完整的表達(dá)了整個(gè)函數(shù)的運(yùn)算邏輯。這里我們簡(jiǎn)單展示一些lambda表達(dá)式的使用示例,以供參考。

二元求和

首先我們嘗試一個(gè)最簡(jiǎn)單的二元求和的ipython案例,輸入兩個(gè)參數(shù)x和y,返回這兩個(gè)元素的和:

[dechin@dechin-manjaro 2021-python]$ ipython
Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: sum2 = lambda x,y: x+y

In [2]: sum2(3,5)
Out[2]: 8

結(jié)合map函數(shù)

在一些函數(shù)被頻繁調(diào)用的場(chǎng)景,比如凸優(yōu)化算法,或者是python中的map函數(shù)實(shí)現(xiàn),這里以map函數(shù)為示例展示一下lambda函數(shù)在其中的用法:

In [9]: list(map(lambda x:x**2, range(10)))
Out[9]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

去掉奇數(shù)

在def所定義的python函數(shù)中,我們可以執(zhí)行任意的python格式的代碼,但是在lambda表達(dá)式下,像if這種常見(jiàn)的條件判斷語(yǔ)句的語(yǔ)法要發(fā)生一定的變化,可以參考如下示例:

In [19]: list(map(lambda x:x if x-(x>>1)*2==0 else None, range(10)))
Out[19]: [0, None, 2, None, 4, None, 6, None, 8, None]

這個(gè)案例演示的是,輸入一個(gè)數(shù)組,經(jīng)過(guò)一些運(yùn)算之后保留偶數(shù),而用None替換所有的奇數(shù)。這里面用到的運(yùn)算符是>>移位算符,其等價(jià)于常用的//符號(hào)。但是這非常值得引起重視,因?yàn)樵谟行┱Z(yǔ)言中,移位算符的操作速度要高于四則運(yùn)算的算符。

總結(jié)概要

本文主要展示了一些lambda表達(dá)式的使用示例,通過(guò)這些示例,我們可以了解到lambda表達(dá)式的常用語(yǔ)法以及使用的場(chǎng)景。在一般情況下,其最大的意義還是簡(jiǎn)化了python中函數(shù)的定義方式,在可讀性上遠(yuǎn)不如def所定義的函數(shù)。

以上就是python3 lambda表達(dá)式詳解的詳細(xì)內(nèi)容,更多關(guān)于python3 lambda表達(dá)式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python函數(shù)的返回值、匿名函數(shù)lambda、filter函數(shù)、map函數(shù)、reduce函數(shù)用法實(shí)例分析
  • Python lambda表達(dá)式filter、map、reduce函數(shù)用法解析
  • Python的Lambda函數(shù)用法詳解
  • python lambda的使用詳解
  • 詳解python中的lambda與sorted函數(shù)
  • 詳解Python的lambda函數(shù)用法

標(biāo)簽:海南 喀什 長(zhǎng)沙 山西 崇左 安康 山西 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python3 lambda表達(dá)式詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266
    炎陵县| 抚州市| 吴旗县| 稻城县| 双牌县| 长垣县| 梨树县| 那坡县| 盐城市| 印江| 淮滨县| 聂拉木县| 花垣县| 余姚市| 凌源市| 克东县| 三河市| 望都县| 保德县| 古田县| 长兴县| 贵溪市| 寻乌县| 宜宾县| 西畴县| 曲阳县| 长宁区| 广德县| 凤山县| 奎屯市| 南皮县| 麻阳| 雷州市| 黑水县| 方山县| 三门峡市| 资阳市| 什邡市| 台北市| 东海县| 凤凰县|