欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python如何使用帶有?for?循環(huán)的?Lambda?函數(shù)

 更新時(shí)間:2023年05月24日 11:14:08   作者:火焰兔  
這篇文章主要介紹了如何在?Python?中使用帶有?for?循環(huán)的?Lambda?函數(shù),使用?Lambda?函數(shù)配合?for?循環(huán)可以讓代碼變得更加簡(jiǎn)潔,但需要注意的是,Lambda?函數(shù)在語(yǔ)法上有一些限制,如果需要更復(fù)雜的邏輯,還需要使用普通函數(shù),感興趣的朋友跟隨小編一起學(xué)習(xí)吧

lambda 語(yǔ)法

lambda 函數(shù)的語(yǔ)法只包含一個(gè)語(yǔ)句,表現(xiàn)形式如下:
lambda [arg1 [,arg2,.....argn]]:expression

lambda 特性

lambda 函數(shù)是匿名的;lambda 函數(shù)有輸入和輸出;lambda 函數(shù)擁有自己的命名空間。
常見的lambda函數(shù)示例:

lambda x, y: x*y	# 函數(shù)輸入是x和y,輸出是它們的積x*y
lambda:None		# 函數(shù)沒有輸入?yún)?shù),輸出是None
lambda *args: sum(args)	# 輸入是任意個(gè)數(shù)參數(shù),輸出是它們的和(隱性要求輸入?yún)?shù)必須能進(jìn)行算術(shù)運(yùn)算)
lambda **kwargs: 1	# 輸入是任意鍵值對(duì)參數(shù),輸出是1

lambda 常見用法

1、將lambda函數(shù)賦值給一個(gè)變量,通過(guò)這個(gè)變量間接調(diào)用該lambda函數(shù)。
add = lambda x, y: x+y相當(dāng)于定義了加法函數(shù)lambda x, y: x+y,并將其賦值給變量add,這樣變量add就指向了具有加法功能的函數(shù)。
這時(shí)我們?nèi)绻麍?zhí)行add(1, 2),其輸出結(jié)果就為 3。

2、將lambda函數(shù)賦值給其他函數(shù),從而將其他函數(shù)用該lambda函數(shù)替換。

# 為了把標(biāo)準(zhǔn)庫(kù)time中的函數(shù)sleep的功能屏蔽(Mock),我們可以在程序初始化時(shí)調(diào)用:
time.sleep=lambda x: None
# 這樣,在后續(xù)代碼中調(diào)用time庫(kù)的sleep函數(shù)將不會(huì)執(zhí)行原有的功能。
time.sleep(3)	# 程序不會(huì)休眠 3 秒鐘,而是因?yàn)閘ambda輸出為None,所以這里結(jié)果是什么都不做

3、將lambda函數(shù)作為參數(shù)傳遞給其他函數(shù)。

Python如何使用帶有 for 循環(huán)的 Lambda 函數(shù)

在 Python 中有一種函數(shù)叫做 Lambda 函數(shù),它可以在一行代碼中定義簡(jiǎn)單的函數(shù)。通常情況下,我們使用 Lambda 函數(shù)都是作為某個(gè)函數(shù)的參數(shù)傳入。Lambda 函數(shù)可以極大地簡(jiǎn)化代碼編寫,提高代碼執(zhí)行效率。

一般來(lái)說(shuō),使用 Lambda 函數(shù)時(shí)不會(huì)用到 for 循環(huán),因?yàn)?Lambda 函數(shù)通常是對(duì)輸入變量作單個(gè)操作的函數(shù)。但是,在某些特定情況下,我們可能需要在 Lambda 函數(shù)中使用 for 循環(huán)。

為了更好地理解如何在 Lambda 函數(shù)中使用帶有 for 循環(huán),我們接下來(lái)通過(guò)實(shí)例來(lái)說(shuō)明。

舉例來(lái)說(shuō),我們要將一個(gè)列表中的所有元素都平方后輸出。如果使用普通的函數(shù),代碼會(huì)是這個(gè)樣子:

def square(x):
    return x ** 2
lst = [1, 2, 3, 4, 5]
new_lst = []
for i in lst:
    new_lst.append(square(i))
print(new_lst)

如果使用 Lambda 函數(shù)來(lái)完成這個(gè)任務(wù),代碼則可以變得非常簡(jiǎn)潔:

lst = [1, 2, 3, 4, 5]
new_lst = list(map(lambda x: x ** 2, lst))
print(new_lst)

如果此時(shí)我們要在 Lambda 函數(shù)中加入 for 循環(huán),代碼該如何編寫呢?其實(shí)很簡(jiǎn)單,只需要把 for 循環(huán)寫在 Lambda 函數(shù)的開頭即可:

lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = lambda x: [item for sublist in x for item in sublist]
new_lst = flattened(lst)
print(new_lst)

在上面的代碼中,我們使用了一個(gè)嵌套列表,并將其扁平化(即將嵌套的列表展開成一個(gè)列表)。這個(gè) Lambda 函數(shù)使用了 for 循環(huán)來(lái)遍歷輸入列表并扁平化它們。

需要注意的是,在 Lambda 函數(shù)中使用 for 循環(huán)時(shí)應(yīng)該遵循以下兩個(gè)注意事項(xiàng):

  • Lambda 函數(shù)中的 for 循環(huán)通常只能用于簡(jiǎn)單的迭代,復(fù)雜的邏輯應(yīng)該寫在普通函數(shù)中;
  • Lambda 函數(shù)的語(yǔ)法非常簡(jiǎn)潔,但也不要為了追求簡(jiǎn)潔而使用復(fù)雜的嵌套結(jié)構(gòu),這會(huì)讓代碼難以理解和維護(hù)。

總的來(lái)說(shuō),使用 Lambda 函數(shù)配合 for 循環(huán)可以讓代碼變得更加簡(jiǎn)潔,但需要注意的是,Lambda 函數(shù)在語(yǔ)法上有一些限制,如果需要更復(fù)雜的邏輯,還需要使用普通函數(shù)。

到此這篇關(guān)于如何在 Python 中使用帶有 for 循環(huán)的 Lambda 函數(shù)的文章就介紹到這了,更多相關(guān)Python使用for 循環(huán)的 Lambda 函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何利用python處理原始音頻數(shù)據(jù)

    如何利用python處理原始音頻數(shù)據(jù)

    這篇文章主要介紹了如何利用python處理原始音頻數(shù)據(jù),文章以audioop的相關(guān)資料展開內(nèi)容,audioop是python標(biāo)準(zhǔn)庫(kù)中用于處理原始音頻數(shù)據(jù)的模塊,封裝了一些便捷的編碼轉(zhuǎn)換函數(shù)。下文詳細(xì)內(nèi)容,需要的朋友可以參考以下
    2022-01-01
  • python函數(shù)和python匿名函數(shù)lambda詳解

    python函數(shù)和python匿名函數(shù)lambda詳解

    這篇文章主要介紹了python函數(shù)和python匿名函數(shù)lambda,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Python中asyncio與aiohttp入門教程

    Python中asyncio與aiohttp入門教程

    今天小編就為大家分享一篇關(guān)于Python中asyncio與aiohttp入門教程,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • Python?實(shí)現(xiàn)簡(jiǎn)單智能聊天機(jī)器人

    Python?實(shí)現(xiàn)簡(jiǎn)單智能聊天機(jī)器人

    這篇文章主要介紹了Python?實(shí)現(xiàn)簡(jiǎn)單智能聊天機(jī)器人,首先通過(guò)計(jì)算機(jī)接收用戶的語(yǔ)音輸入再將用戶輸入的語(yǔ)音輸入轉(zhuǎn)化為文本信息展開實(shí)現(xiàn)過(guò)程,需要的小伙伴可以參考一下
    2022-05-05
  • yolov5中head修改為decouple?head詳解

    yolov5中head修改為decouple?head詳解

    現(xiàn)成的YOLOv5代碼真的很香,不管口碑怎么樣,我用著反正是挺爽的,下面這篇文章主要給大家介紹了關(guān)于yolov5中head修改為decouple?head的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Python進(jìn)階Matplotlib庫(kù)圖繪制

    Python進(jìn)階Matplotlib庫(kù)圖繪制

    這篇文章主要介紹了Python進(jìn)階Matplotlib庫(kù)圖繪制,Matplotlib:是一個(gè)Python的2D繪圖庫(kù),通過(guò)Matplotlib,開發(fā)者可以僅需要幾行代碼,便可以生成折線圖,直方圖,條形圖,餅狀圖,散點(diǎn)圖等
    2022-07-07
  • opencv 查找連通區(qū)域 最大面積實(shí)例

    opencv 查找連通區(qū)域 最大面積實(shí)例

    這篇文章主要介紹了opencv 查找連通區(qū)域 最大面積實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python雙向鏈表實(shí)現(xiàn)實(shí)例代碼

    python雙向鏈表實(shí)現(xiàn)實(shí)例代碼

    python雙向鏈表和單鏈表類似,只不過(guò)是增加了一個(gè)指向前面一個(gè)元素的指針,下面的代碼實(shí)例了python雙向鏈表的方法
    2013-11-11
  • Python 如何用一行代碼實(shí)現(xiàn)for循環(huán)初始化數(shù)組

    Python 如何用一行代碼實(shí)現(xiàn)for循環(huán)初始化數(shù)組

    這篇文章主要介紹了Python 用一行代碼實(shí)現(xiàn)for循環(huán)初始化數(shù)組的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 使用python實(shí)現(xiàn)CGI環(huán)境搭建過(guò)程解析

    使用python實(shí)現(xiàn)CGI環(huán)境搭建過(guò)程解析

    這篇文章主要介紹了使用python實(shí)現(xiàn)CGI環(huán)境搭建過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論