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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

網(wǎng)絡(luò)工程師學(xué)Python-Lambda表達(dá)式

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來(lái)源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2023-04-19 15:51 ? 次閱讀

Python 中,Lambda 表達(dá)式是一種非常強(qiáng)大的工具,它可以讓你快速創(chuàng)建小型匿名函數(shù),而不需要顯式地定義函數(shù)名稱。Lambda 表達(dá)式通常用于傳遞函數(shù)對(duì)象或簡(jiǎn)單的函數(shù)式編程

11dcc62a-de85-11ed-bfe3-dac502259ad0.png

一、語(yǔ)法

Lambda 表達(dá)式的基本語(yǔ)法如下:

lambdaarguments:expression

其中 arguments 是逗號(hào)分隔的參數(shù)列表,expression 是一個(gè)表達(dá)式,它將被執(zhí)行并返回結(jié)果。

以下是一個(gè)簡(jiǎn)單的例子,展示了 Lambda 表達(dá)式如何工作:

f=lambdax:x+1
print(f(1))#輸出2

在這個(gè)例子中,我們定義了一個(gè) Lambda 表達(dá)式,它將參數(shù) x 加 1,并將結(jié)果返回。我們將這個(gè) Lambda 表達(dá)式分配給變量 f,然后調(diào)用 f 并傳遞一個(gè)值 1。調(diào)用 f(1) 的結(jié)果為 2。

二、優(yōu)點(diǎn)

Lambda 表達(dá)式有很多優(yōu)點(diǎn),其中一些包括:

簡(jiǎn)潔性:Lambda 表達(dá)式通常比顯式函數(shù)更短和簡(jiǎn)潔,可以使代碼更易于閱讀和理解。

可讀性:當(dāng) Lambda 表達(dá)式只是簡(jiǎn)單的表達(dá)式時(shí),可以使代碼更具可讀性。例如,將一個(gè) Lambda 表達(dá)式傳遞給 Python 內(nèi)置函數(shù) map() 可以使代碼更易于理解和管理。

功能性:Lambda 表達(dá)式是 Python 函數(shù)式編程的基礎(chǔ),它提供了許多強(qiáng)大的編程功能,例如函數(shù)式編程和惰性求值。

三、應(yīng)用場(chǎng)景

Lambda 表達(dá)式在許多情況下都很有用,其中一些包括:

排序:在 Python 中,可以使用 sorted() 函數(shù)來(lái)對(duì)列表進(jìn)行排序。該函數(shù)接受一個(gè)可選的 key 參數(shù),用于指定排序的關(guān)鍵字。可以使用 Lambda 表達(dá)式來(lái)指定關(guān)鍵字,如下所示:

numbers=[1,5,2,4,3]
sorted_numbers=sorted(numbers,key=lambdax:x)
print(sorted_numbers)#輸出[1,2,3,4,5]

在這個(gè)例子中,我們使用 sorted() 函數(shù)對(duì) numbers 列表進(jìn)行排序。我們使用一個(gè) Lambda 表達(dá)式 lambda x: x 作為關(guān)鍵字來(lái)進(jìn)行排序。這意味著我們按數(shù)字的大小進(jìn)行排序。

過(guò)濾:在 Python 中,可以使用 filter() 函數(shù)來(lái)過(guò)濾列表中的元素。該函數(shù)接受一個(gè)可調(diào)用對(duì)象和一個(gè)列表,然后返回一個(gè)新的列表,其中包含滿足可調(diào)用對(duì)象的元素。Lambda 表達(dá)式可以用作可調(diào)用對(duì)象,如下所示:

numbers=[1,2,3,4,5]
even_numbers=list(filter(lambdax:x%2==0,numbers))
print(even_numbers)#輸出[2,4]

在這個(gè)例子中,我們使用 filter() 函數(shù)來(lái)過(guò)濾 numbers 列表中的偶數(shù)。我們使用一個(gè) Lambda 表達(dá)式 lambda x: x % 2 == 0 作為可調(diào)用對(duì)象來(lái)判斷元素是否為偶數(shù)。

映射:在 Python 中,可以使用 map() 函數(shù)將一個(gè)函數(shù)應(yīng)用于一個(gè)列表中的每個(gè)元素。可以使用 Lambda 表達(dá)式來(lái)指定要應(yīng)用的函數(shù),如下所示:

numbers=[1,2,3,4,5]
squares=list(map(lambdax:x**2,numbers))
print(squares)#輸出[1,4,9,16,25]

在這個(gè)例子中,我們使用 map() 函數(shù)將一個(gè) Lambda 表達(dá)式 lambda x: x**2 應(yīng)用于 numbers 列表中的每個(gè)元素。這個(gè) Lambda 表達(dá)式將每個(gè)元素平方,并將結(jié)果放入一個(gè)新列表 squares 中。

四、總結(jié)

Lambda 表達(dá)式是 Python 中一種非常有用的工具,它可以使代碼更短、更簡(jiǎn)潔和更易于閱讀。Lambda 表達(dá)式通常用于傳遞函數(shù)對(duì)象或簡(jiǎn)單的函數(shù)式編程,例如排序、過(guò)濾和映射。掌握 Lambda 表達(dá)式可以提高你的 Python 編程技能和效率。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 過(guò)濾器
    +關(guān)注

    關(guān)注

    1

    文章

    434

    瀏覽量

    19866
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4813

    瀏覽量

    85316
  • Lambda
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    9946

原文標(biāo)題:網(wǎng)絡(luò)工程師學(xué)Python-10-Lambda 表達(dá)式

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++的lambda表達(dá)式詳解

    lambda 表達(dá)式就是一個(gè)函數(shù)(匿名函數(shù)),也就是一個(gè)沒(méi)有函數(shù)名的函數(shù)。為什么不需要函數(shù)名呢,因?yàn)槲覀冎苯樱ㄒ淮涡缘模┯盟度胧接玫乃?,不需要其他地方調(diào)用它。
    發(fā)表于 10-27 10:13 ?1158次閱讀

    Java Lambda表達(dá)式的新特性

    Java Lambda表達(dá)式是Java 8中最重要的新特性之一。 它們是一種可傳遞的匿名函數(shù),可以作為參數(shù)傳遞給方法或存儲(chǔ)在變量中,因此可以在需要的時(shí)候調(diào)用它們。 基礎(chǔ) 1. 簡(jiǎn)介 Lambda
    的頭像 發(fā)表于 09-30 10:29 ?2708次閱讀

    哪位大神詳細(xì)介紹委托、匿名方法、Lambda表達(dá)式

    委托、匿名方法、Lambda表達(dá)式總結(jié)
    發(fā)表于 11-11 07:50

    初識(shí) Python 正則表達(dá)式

    正則表達(dá)式是一個(gè)特殊的字符序列,用于判斷一個(gè)字符串是否與我們所設(shè)定的字符序列是否匹配,也就是說(shuō)檢查一個(gè)字符串是否與某種模式匹配。Python 自 1.5 版本起增加了re 模塊,它提供 Perl
    發(fā)表于 03-17 16:44

    Python正則表達(dá)式教程之標(biāo)準(zhǔn)庫(kù)的完整介紹及使用示例說(shuō)明

    本文介紹了Python對(duì)于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫(kù)的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫(xiě)
    發(fā)表于 01-23 16:00 ?3次下載
    <b class='flag-5'>Python</b>正則<b class='flag-5'>表達(dá)式</b>教程之標(biāo)準(zhǔn)庫(kù)的完整介紹及使用示例說(shuō)明

    什么是網(wǎng)絡(luò)工程師

    什么是網(wǎng)絡(luò)工程師?網(wǎng)絡(luò)工程師就是通過(guò)學(xué)習(xí)和訓(xùn)練,掌握了網(wǎng)絡(luò)技術(shù)的理論知識(shí)和操作技能的網(wǎng)絡(luò)技術(shù)人員。網(wǎng)絡(luò)工程師能夠從事計(jì)算機(jī)信息系統(tǒng)的設(shè)計(jì)、建
    的頭像 發(fā)表于 02-19 14:28 ?7808次閱讀

    Python正則表達(dá)式的學(xué)習(xí)指南

    本文介紹了Python對(duì)于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫(kù)的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫(xiě)
    發(fā)表于 09-15 08:00 ?0次下載
    <b class='flag-5'>Python</b>正則<b class='flag-5'>表達(dá)式</b>的學(xué)習(xí)指南

    Python正則表達(dá)式指南

    本文介紹了Python對(duì)于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫(kù)的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫(xiě)
    發(fā)表于 03-26 09:13 ?10次下載
    <b class='flag-5'>Python</b>正則<b class='flag-5'>表達(dá)式</b>指南

    初識(shí) Python 正則表達(dá)式

    正則表達(dá)式是一個(gè)特殊的字符序列,用于判斷一個(gè)字符串是否與我們所設(shè)定的字符序列是否匹配,也就是說(shuō)檢查一個(gè)字符串是否與某種模式匹配。 Python 自 1.5 版本起增加了re 模塊,它提供 Perl
    的頭像 發(fā)表于 03-17 16:44 ?1508次閱讀

    Lambda表達(dá)式詳解

    C++11中的Lambda表達(dá)式用于 **定義并創(chuàng)建匿名的函數(shù)對(duì)象** ,以簡(jiǎn)化編程工作。下面看一下Lambda表達(dá)式的基本構(gòu)成。
    的頭像 發(fā)表于 02-09 11:28 ?1283次閱讀

    Python中的Lambda表達(dá)式

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

    網(wǎng)絡(luò)工程師學(xué)Python正則表達(dá)式語(yǔ)法

    正則表達(dá)式是一種用于匹配字符串的模式,它可以用來(lái)檢查字符串是否符合某個(gè)模式,并可以從字符串中提取出特定的內(nèi)容。
    的頭像 發(fā)表于 04-21 16:55 ?1275次閱讀

    Python中的正則表達(dá)式

    哈嘍大家好,我是了不起,今天給大家講Python中的正則表達(dá)式Python中,正則表達(dá)式是一種強(qiáng)大的文本處理工具,它可以用來(lái)匹配、搜索、替換文本。正則
    的頭像 發(fā)表于 06-21 16:52 ?1077次閱讀

    為什么引入Lambda?C++11 Lambda表達(dá)式介紹

    Lambda表達(dá)式是一個(gè)可以內(nèi)聯(lián)在我們代碼中的函數(shù),我們可以將他傳遞給另外一個(gè)函數(shù)。
    的頭像 發(fā)表于 07-18 16:26 ?719次閱讀

    如何使用lambda表達(dá)式提升開(kāi)發(fā)效率?

    Java8 的一個(gè)大亮點(diǎn)是引入 Lambda 表達(dá)式,使用它設(shè)計(jì)的代碼會(huì)更加簡(jiǎn)潔。當(dāng)開(kāi)發(fā)者在編寫(xiě) Lambda 表達(dá)式時(shí),也會(huì)隨之被編譯成一個(gè)函數(shù)式接口。
    發(fā)表于 08-24 10:25 ?349次閱讀