女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

什么是Lambda函數(shù)

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-17 11:27 ? 次閱讀

今天來(lái)給大家推薦一個(gè)Python當(dāng)中超級(jí)好用的內(nèi)置函數(shù),那便是lambda方法,本篇教程大致和大家分享

  • 什么是lambda函數(shù)
  • lambda函數(shù)過(guò)濾列表元素
  • lambda函數(shù)和map()方法的聯(lián)用
  • lambda函數(shù)和apply()方法的聯(lián)用
  • 什么時(shí)候不適合使用lambda方法

什么是Lambda函數(shù)

在Python當(dāng)中,我們經(jīng)常使用lambda關(guān)鍵字來(lái)聲明一個(gè)匿名函數(shù),所謂地匿名函數(shù),通俗地來(lái)講就是沒有名字的函數(shù),具體的語(yǔ)法格式如下所示

lambda arguments : expression

其中它可以接受任意數(shù)量的參數(shù),但是只允許包含一個(gè)表達(dá)式,而該表達(dá)式的運(yùn)算結(jié)果就是函數(shù)的返回值,我們可以簡(jiǎn)單地來(lái)寫一個(gè)例子

(lambda x:x**2)(5)

output

25

過(guò)濾列表中的元素

那么我們?nèi)绾蝸?lái)過(guò)濾列表當(dāng)中的元素呢?這里就需要將lambda函數(shù)和filter()方法聯(lián)合起來(lái)使用了,而filter()方法的語(yǔ)法格式

filter(function, iterable)
  • function -- 判斷函數(shù)
  • iterable -- 可迭代對(duì)象,列表或者是字典

其中我們有這么一個(gè)列表

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

其中我們想要過(guò)濾出2次方之后小于100的元素,我們來(lái)定義一個(gè)匿名函數(shù),如下

lambda x:x**2< 100

最后出來(lái)的結(jié)果如下所示

list(filter(lambda x:x**2 100, yourlist))

output

[2, 5, 8]

要是遇上復(fù)雜的計(jì)算過(guò)程,小編這里還是推薦大家自己自定義一個(gè)函數(shù),但若是簡(jiǎn)單的計(jì)算過(guò)程,lambda匿名函數(shù)絕對(duì)是最佳的選擇

map()函數(shù)的聯(lián)用

map()函數(shù)的語(yǔ)法和上面的filter()函數(shù)相近,例如下面這個(gè)匿名函數(shù)

lambda x: x**2+x**3

我們將其和map()方法聯(lián)用起來(lái)

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

output

[12,
 150,
 576,
 1452,
 2940,
 5202,
 ......]

當(dāng)然正如我們之前提到的lambda匿名函數(shù)可以接受多個(gè)數(shù)量的參數(shù),我們這里就可以來(lái)嘗試一下了,例如有兩組列表,

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

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

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

output

[20,
 74,
 164,
 290,
 452,
 650,
 884,
 1154,
......]

apply()方法的聯(lián)用

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

myseries = pd.Series(mylist)
myseries

output

0      4
1      7
2     10
3     13
4     16
5     19
6     22
7     25
8     28
......
dtype: int32

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

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

output

0     0.562500
1     0.244898
2     0.150000
3     0.106509
4     0.082031
5     0.066482
6     0.055785
7     0.048000
......
dtype: float64

而要是遇到DataFarme表格數(shù)據(jù)的時(shí)候,也是同樣地操作

df = pd.read_csv(r'Dummy_Sales_Data_v1.csv')
df["Sales_Manager"] = df["Sales_Manager"].apply(lambda x: x.upper())
df["Sales_Manager"].head()

output

0      PABLO
1      PABLO
2    KRISTEN
3      ABDUL
4     STELLA
Name: Sales_Manager, dtype: object

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

不太適合使用的場(chǎng)景

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

squared_sum = lambda x,y: x**2 + y**2
squared_sum(3,4)

相比較而言更好的是自定義一個(gè)函數(shù)來(lái)進(jìn)行處理

def squared_sum(x,y):
    return x**2 + y**2
  
squared_sum(3,4)

output

25

而我們遇到如下情景的時(shí)候,可以對(duì)代碼稍作簡(jiǎn)化處理

import math
mylist = [10, 25, 40, 49, 65, 81]
sqrt_list = list(map(lambda x: math.sqrt(x), mylist))
sqrt_list

output

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

我們可以將其簡(jiǎn)化成

import math
mylist = [10, 25, 40, 49, 65, 81]
sqrt_list = list(map(math.sqrt, mylist))
sqrt_list

output

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

如果是Python當(dāng)中的內(nèi)置函數(shù),尤其是例如math這種用于算數(shù)的模塊,可以不需要放在lambda函數(shù)中,可以直接抽出來(lái)用

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

    關(guān)注

    11

    文章

    1865

    瀏覽量

    32847
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4367

    瀏覽量

    64105
  • Lambda
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10098
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    #硬聲創(chuàng)作季 66.lambda函數(shù)

    編程語(yǔ)言python
    Mr_haohao
    發(fā)布于 :2022年08月30日 06:31:54

    Python程序設(shè)計(jì): lambda函數(shù)(1)#Python程序設(shè)計(jì)

    編程語(yǔ)言python
    學(xué)習(xí)電子
    發(fā)布于 :2023年04月06日 15:04:59

    Python程序設(shè)計(jì): lambda函數(shù)(2)#Python程序設(shè)計(jì)

    編程語(yǔ)言python
    學(xué)習(xí)電子
    發(fā)布于 :2023年04月06日 15:05:24

    lambda函數(shù)(1)#Python

    參數(shù)函數(shù)python
    未來(lái)加油dz
    發(fā)布于 :2023年08月24日 17:21:09

    lambda函數(shù)(2)#Python

    參數(shù)函數(shù)python
    未來(lái)加油dz
    發(fā)布于 :2023年08月24日 17:22:12

    lambda函數(shù)基礎(chǔ)

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

    如何使用homeassantant軟件創(chuàng)建自定義技能以在樹莓派上操作GPIO

    對(duì)于HTTPS設(shè)置,我使用了Amazon aws的lambda函數(shù)。因此,請(qǐng)轉(zhuǎn)到console.aws.amazon.com并創(chuàng)建一個(gè)帳戶。
    的頭像 發(fā)表于 12-11 16:06 ?3161次閱讀

    關(guān)于Python的5種高級(jí)特征應(yīng)用

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

    關(guān)于Python 60道硬核面試題 你知道多少

    1. Python 的特點(diǎn)和優(yōu)點(diǎn)是什么? 答案:略。 2. 什么是lambda函數(shù)?它有什么好處? lambda 函數(shù)是一個(gè)可以接收任意多個(gè)參數(shù)(包括可選參數(shù))并且返回單個(gè)表達(dá)式值的
    發(fā)表于 12-18 13:11 ?1984次閱讀

    AWS,Azure和Google Cloud在云中可用的當(dāng)前服務(wù)

    2020年12月1日,當(dāng)世界為以COVID-19大流行為主導(dǎo)的動(dòng)蕩年末做準(zhǔn)備時(shí),AWS為云社區(qū)帶來(lái)了早期的禮物。 對(duì)AWS Lambda函數(shù)的容器支持。將Lambda函數(shù)打包和部署為容
    的頭像 發(fā)表于 01-15 14:45 ?1887次閱讀

    智慧辦公解決方案

    OpenSensors 設(shè)計(jì)了一個(gè) LoRa Basics? Station,將所有數(shù)據(jù)都轉(zhuǎn)發(fā)到其 AWS IoT Core 云平臺(tái)。他們使用 Lambda 函數(shù),對(duì)連接到其平臺(tái)前端的數(shù)據(jù)進(jìn)行后處理,并將其可視化。這種設(shè)計(jì)不僅提供穩(wěn)定的服務(wù)、零停機(jī)和無(wú)縫故障轉(zhuǎn)移,而且讓客
    的頭像 發(fā)表于 11-09 11:10 ?983次閱讀
    智慧辦公解決方案

    6個(gè)堪稱神仙的內(nèi)置函數(shù)

    分享6個(gè)堪稱神仙的內(nèi)置函數(shù)。在很多計(jì)算機(jī)書籍中,它們也通常作為 高階函數(shù) 來(lái)介紹。而我自己在日常工作中,經(jīng)常使用它們來(lái)使代碼更快,更易于理解。 Lambda 函數(shù)
    的頭像 發(fā)表于 10-21 14:41 ?678次閱讀
    6個(gè)堪稱神仙的內(nèi)置<b class='flag-5'>函數(shù)</b>

    Lambda函數(shù)指針的性能對(duì)比

    很多時(shí)候,選擇單一,事情做來(lái)不會(huì)有多少阻力,選擇太多 ,倒是舉棋難定了。
    的頭像 發(fā)表于 10-21 13:43 ?879次閱讀
    <b class='flag-5'>Lambda</b>和<b class='flag-5'>函數(shù)</b>指針的性能對(duì)比

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

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