色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

什么是Lambda函數

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-17 11:27 ? 次閱讀

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

  • 什么是lambda函數
  • lambda函數過濾列表元素
  • lambda函數和map()方法的聯用
  • lambda函數和apply()方法的聯用
  • 什么時候不適合使用lambda方法

什么是Lambda函數

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

lambda arguments : expression

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

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

output

25

過濾列表中的元素

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

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

其中我們有這么一個列表

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

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

lambda x:x**2< 100

最后出來的結果如下所示

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

output

[2, 5, 8]

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

map()函數的聯用

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

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

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

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

output

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

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

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

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

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

output

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

apply()方法的聯用

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

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()方法我們都需要將可迭代對象放入其中,而這里的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表格數據的時候,也是同樣地操作

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

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

不太適合使用的場景

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

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

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

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

output

25

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

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]

我們可以將其簡化成

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當中的內置函數,尤其是例如math這種用于算數的模塊,可以不需要放在lambda函數中,可以直接抽出來用

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

    關注

    11

    文章

    1864

    瀏覽量

    32569
  • 函數
    +關注

    關注

    3

    文章

    4353

    瀏覽量

    63293
  • Lambda
    +關注

    關注

    0

    文章

    30

    瀏覽量

    9943
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 66.lambda函數

    編程語言python
    Mr_haohao
    發布于 :2022年08月30日 06:31:54

    #硬聲創作季 語言程序設計:119.5.1 函數的定義與使用__lambda函數(,P119)

    編程語言python
    Mr_haohao
    發布于 :2022年10月01日 07:39:13

    Python程序設計: lambda函數(1)#Python程序設計

    編程語言python
    學習電子
    發布于 :2023年04月06日 15:04:59

    Python程序設計: lambda函數(2)#Python程序設計

    編程語言python
    學習電子
    發布于 :2023年04月06日 15:05:24

    lambda函數(1)#Python

    參數函數python
    未來加油dz
    發布于 :2023年08月24日 17:21:09

    lambda函數(2)#Python

    參數函數python
    未來加油dz
    發布于 :2023年08月24日 17:22:12

    lambda函數基礎

    lambda函數基礎lambda與def
    發表于 12-29 06:22

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

    對于HTTPS設置,我使用了Amazon aws的lambda函數。因此,請轉到console.aws.amazon.com并創建一個帳戶。
    的頭像 發表于 12-11 16:06 ?3095次閱讀

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

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

    關于Python 60道硬核面試題 你知道多少

    1. Python 的特點和優點是什么? 答案:略。 2. 什么是lambda函數?它有什么好處? lambda 函數是一個可以接收任意多個參數(包括可選參數)并且返回單個表達式值的
    發表于 12-18 13:11 ?1956次閱讀

    AWS,Azure和Google Cloud在云中可用的當前服務

    2020年12月1日,當世界為以COVID-19大流行為主導的動蕩年末做準備時,AWS為云社區帶來了早期的禮物。 對AWS Lambda函數的容器支持。將Lambda函數打包和部署為容
    的頭像 發表于 01-15 14:45 ?1815次閱讀

    智慧辦公解決方案

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

    6個堪稱神仙的內置函數

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

    Lambda函數指針的性能對比

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

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

    亞馬遜云科技推出Amazon Lambda SnapStart,大幅提升Java Lambda函數啟動性能   北京,2024年10月29日 —— 亞馬遜云科技近日宣布,與光環新網和西云數據
    的頭像 發表于 10-30 10:59 ?399次閱讀
    主站蜘蛛池模板: 久久精品国产亚洲AV天美18 | 野花日本手机观看大全免费3 | 肉奴隷 赤坂丽在线播放 | 99久久久无码国产精品免费人妻 | 毛片999| 亚洲精品天堂在线 | 一个人的视频在线观看免费观看 | 夜色福利院在线看 | 麻豆免费观看高清完整视频 | 日韩成人黄色 | 91嫩草私人成人亚洲影院 | 在线广播收听 | 成人免费在线视频 | 最新国自产拍天天更新 | 99久久99久久精品国产片果冻 | 国产精一品亚洲二区在线播放 | 国产成人啪精品视频免费网 | 久久视频精品38在线播放 | 亚洲中文久久精品AV无码 | 海角社区在线视频播放观看 | 久草草在线视视频 | 在线视频av大全色久久 | 亚洲高清国产拍精品影院 | 国产网站免费观看 | 憋尿调教绝望之岛 | 狠狠色狠狠色综合曰曰 | 免费观看高清黄页网址大全 | 黑粗硬大欧美在线视频 | 伦理片 a在线线版韩国 | 中文字幕永久在线 | 国内精品偷拍在线观看 | 久久草福利自拍视频在线观看 | 刺激性视频黄页 | 99er热精品视频国产免费 | 2021精品高清卡1卡2卡3麻豆 | 亚洲中文字幕无码爆乳APP | 国产视频精品在线偷拍 | 日本美国群交P片内射捆绑 日本毛片久久国产精品 | 医生含着我的奶边摸边做 | 亚洲一区日韩一区欧美一区a | 1313久久国产午夜精品理论片 |