在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

推薦一個Python超級好用的內置函數lambda

工程師鄧生 ? 來源:Python愛好者集中營 ? 作者:欣一 ? 2022-09-13 18:09 ? 次閱讀

今天來給大家推薦一個Python當中超級好用的內置函數,那便是lambda方法,本篇教程大致和大家分享:

什么是lambda函數

lambda函數過濾列表元素

lambda函數和map()方法的聯用

lambda函數和apply()方法的聯用

什么時候不適合使用lambda方法

什么是Lambda函數

在Python當中,我們經常使用lambda關鍵字來聲明一個匿名函數,所謂地匿名函數,通俗地來講就是沒有名字的函數,具體的語法格式如下所示

lambdaarguments:expression

其中它可以接受任意數量的參數,但是只允許包含一個表達式,而該表達式的運算結果就是函數的返回值,我們可以簡單地來寫一個例子

(lambdax:x**2)(5)

output

25

過濾列表中的元素

那么我們如何來過濾列表當中的元素呢?這里就需要將lambda函數和filter()方法聯合起來使用了,而filter()方法的語法格式

filter(function,iterable)

function -- 判斷函數

iterable -- 可迭代對象,列表或者是字典

其中我們有這么一個列表

importnumpyasnp

yourlist=list(np.arange(2,50,3))

其中我們想要過濾出2次方之后小于100的元素,我們來定義一個匿名函數,如下

lambdax:x**2<100

最后出來的結果如下所示

list(filter(lambdax:x**2<100,?yourlist))

output

[2,5,8]
要是遇上復雜的計算過程,小編這里還是推薦大家自己自定義一個函數,但若是簡單的計算過程,lambda匿名函數絕對是最佳的選擇

和map()函數的聯用

map()函數的語法和上面的filter()函數相近,例如下面這個匿名函數

lambdax:x**2+x**3

我們將其和map()方法聯用起來

list(map(lambdax:x**2+x**3,yourlist))

output

poYBAGMgVzCAHT9FAAAVBIL3cpM153.jpg

當然正如我們之前提到的lambda匿名函數可以接受多個數量的參數,我們這里就可以來嘗試一下了,例如有兩組列表


poYBAGMgV0SAIn2pAAAcfRNDtrs070.jpg

我們同樣使用map()方法來操作,代碼如下

list(map(lambdax,y:x**2+y**2,yourlist,mylist))

output

poYBAGMgV1mARc25AAAUeWgv-fg213.jpg


和apply()方法的聯用

apply()方法在Pandas的數據表格中用的比較多,而在apply()方法當中就帶上lambda匿名函數,我們新建一個數據表格,如下所示

myseries=pd.Series(mylist)

myseries

output

pYYBAGMgV3aAVeTrAAAcH4HSSmk454.jpg

apply()方法的使用和前兩者稍有不同,map()方法和filter()方法我們都需要將可迭代對象放入其中,而這里的apply()則不需要

myseries.apply(lambdax:(x+5)/x**2)

output

poYBAGMgV4mAJri4AAApp0nNHD8015.jpg

而要是遇到DataFarme表格數據的時候,也是同樣地操作

poYBAGMgV5yAKbIAAAA0bsGJ8PQ676.jpg

output

pYYBAGMgV66ACJGPAAAmoR2Pwh8035.jpg

并且通過apply()方法處理可是比直接用str.upper()方法來處理,速度來的更快哦!!

不太適合使用的場景

那么不適合的場景有哪些呢?那么首先lambda函數作為一個匿名函數,不適合將其賦值給一個變量,例如下面的這個案例


squared_sum=lambdax,y:x**2+y**2

squared_sum(3,4)

相比較而言更好的是自定義一個函數來進行處理

poYBAGMgV82ALXHcAAAavlQ5BZw109.jpg

output

25

而我們遇到如下情景的時候,可以對代碼稍作簡化處理

pYYBAGMgV9-ATi_mAAAlDHFBlT0912.jpg

output

[3.16227766,5.0,6.324555320,7.0,8.062257748,9.0]

我們可以將其簡化成


poYBAGMgV_CASmWRAAApnJtOuwk580.jpg

output

[3.162277,5.0,6.324555,7.0,8.062257,9.0]

如果是Python當中的內置函數,尤其是例如math這種用于算數的模塊,可以不需要放在lambda函數中,可以直接抽出來用



審核編輯:劉清

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

    關注

    56

    文章

    4807

    瀏覽量

    85039

原文標題:淺談Python當中Lambda函數的用法

文章出處:【微信號:AI科技大本營,微信公眾號:AI科技大本營】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TimSort:在標準函數庫中廣泛使用的排序算法

    排序算法呢? 本文將帶你走進 TimSort,在標準函數庫中廣泛使用的排序算法。 這個算法由工程師 Tim Peters 于 2001 年專為 Python 設計,并自
    的頭像 發表于 01-03 11:42 ?126次閱讀

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

    攜手,在其北京與寧夏區域成功部署了Amazon Lambda SnapStart功能。這創新技術顯著提升了基于Java的Lambda函數的啟動性能,最高可達10倍之多。
    的頭像 發表于 10-30 10:59 ?330次閱讀

    Python常用函數大全

    Python 世界里,有些寶藏函數和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,讓你的開發生活瞬間輕松不少!
    的頭像 發表于 10-27 17:20 ?346次閱讀

    【每天學點AI】例子帶你了解Python裝飾器到底在干嘛!

    進行“加料”呢?Python裝飾器提供了更為優雅的方式來增強現有函數的行為,并且不需要修改現有的函數代碼及調用方式。接下來通過
    的頭像 發表于 09-20 16:54 ?595次閱讀
    【每天學點AI】<b class='flag-5'>一</b><b class='flag-5'>個</b>例子帶你了解<b class='flag-5'>Python</b>裝飾器到底在干嘛!

    超級電容VS電池,哪個更好用

    電容;超級電容;電池;儲能;能量密度; 摘要:超級電容和電池同為儲能裝置,各有優勢。超級電容充放電快、循環次數多,但能量密度低;電池充電慢、循環次數少,但能量密度高。可根據使用場景和需求選擇合適的儲能裝置。
    的頭像 發表于 07-29 11:47 ?535次閱讀

    ESP8266使用Lambda賦值創建崩潰的原因?

    ); Serial.printf(\"啟動 realloc lambda 測試...n\"); l=(reqHandler *) malloc(2*sizeof(reqHandler
    發表于 07-18 06:47

    python函數的萬能參數

    我們通過簡單的事例來展示函數的萬能參數,我們先寫最簡單的
    的頭像 發表于 07-17 14:56 ?385次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>函數</b>的萬能參數

    opencv-python和opencv樣嗎

    樣。OpenCV(Open Source Computer Vision Library)是開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Pytho
    的頭像 發表于 07-16 10:38 ?1404次閱讀

    python訓練出的模型怎么調用

    使用pickle模塊 pickle 是Python內置模塊,用于序列化和反序列化Python對象結構。使用 pickle 可以方便地
    的頭像 發表于 07-11 10:15 ?2270次閱讀

    內置超級電容模塊的故障指示器有哪些特性?

    內置超級電容模塊的故障指示器有哪些特性?安裝在輸配電線路、電力電纜及開關柜進出線上的故障指示器在電流流通的線路中起著非常重要的作用,旦線路發生故障,巡線人員可以利用指示燈的報警顯示快速的確定故障
    的頭像 發表于 06-04 09:39 ?512次閱讀
    <b class='flag-5'>內置</b><b class='flag-5'>超級</b>電容模塊的故障指示器有哪些特性?

    100G Lambda MSA協議資源免費下載

    100G Lambda MSA
    的頭像 發表于 05-31 16:31 ?496次閱讀

    如何使用Python生成四位隨機數字

    為了實現這些目標,Python 為我們提供了random() 模塊。random() 是內置Python 模塊,用于生成隨機數。
    的頭像 發表于 04-15 12:47 ?775次閱讀

    函數發生器的作用,概念要點是什么

    概念。 理解迭代器和可迭代對象: 在深入探討函數生成器之前,我們需要先了解迭代器和可迭代對象的概念。在Python中,迭代是種訪問集合元素的方式,無論集合的大小如何。迭代器是
    的頭像 發表于 02-23 16:01 ?591次閱讀

    output函數怎么用

    output 函數通用的術語,并不特指某個具體的編程語言或軟件工具。 如果你在使用 Python 編程語言,那么可能是指 print 函數
    的頭像 發表于 02-23 14:21 ?1341次閱讀

    TDK-Lambda電源如何使用?

    TDK-Lambda電源如何使用?
    的頭像 發表于 02-18 14:29 ?901次閱讀
    TDK-<b class='flag-5'>Lambda</b>電源如何使用?
    主站蜘蛛池模板: 午夜看黄| 国产欧美高清 | 女人张开腿等男人桶免费视频 | 亚洲人成电影院在线观看 | 免费啪视频在线观看 | 99热这里只有精品一区二区三区 | 黄色片网站观看 | 国产精品伦子一区二区三区 | 久久精品男人影院 | 人人看操 | 午夜免费福利片观看 | 2021成人国产精品 | 欧美三级午夜伦理片 | 午夜精品一区二区三区在线视 | 亚洲色图图片专区 | 美女被免费网站在线视频九色 | 色涩网站在线观看 | www.av毛片| 四虎永久免费地址在线网站 | 成人性色生活片免费看爆迷你毛片 | 狠狠干综合 | 欧美在线观看一区二区三 | 婷婷五月在线视频 | 美日毛片| 男人的网址 | 二区三区在线 | 又黄又爽又猛大片录像 | 一区二区视频在线 | 欧美在线视频看看 | 一区二区三区四区五区 | 日本aaaa级片 | 69久久夜色精品国产69 | 性无码专区无码 | 三级黄色a | 天天操天天干天天爽 | 欧美高清milf在线播放 | www.午夜 | 免费网站黄成人影院 | 成人免费无毒在线观看网站 | 色宅男看片午夜大片免费看 | 黄a级免费 |