第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Python 中將定義的函數(shù)更改為 lambda 函數(shù)

在 Python 中將定義的函數(shù)更改為 lambda 函數(shù)

qq_遁去的一_1 2021-11-02 15:11:05
def char(word):    lower = word.lower()    for letters in lower:        number = letters.count('a')    return(number)我在上面定義了一個(gè)函數(shù),我正在嘗試將其更改為 lambda 函數(shù)。我該怎么做?:)(更新)下面這個(gè)功能怎么樣?我試圖計(jì)算一個(gè)單詞中的所有 'a',但查看評(píng)論似乎我錯(cuò)了。如果下面的代碼方向正確,如何轉(zhuǎn)換為 lambda 函數(shù)?def number_of_vowels(word):    i = 0    lower = word.lower()    for char in lower:        if char in 'a':            i += 1    return(i)   
查看完整描述

2 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

所以,最簡(jiǎn)單的方法是直接使用str.count()

lambda word : word.lower().count('a')

如果你想使用類似你的代碼的東西,即使用for循環(huán)而不是count()方法,那么在你的 lambda 表達(dá)式中使用列表理解:

lambda word : sum([int(letter == 'a') for letter in word])

如果您想計(jì)算更多元音或更多字母,請(qǐng)使用兩個(gè)參數(shù):

lambda word,letters : sum([int(letter in letters) for letter in word])

并感謝@ShadowRanger 的更正,在早期版本中,我錯(cuò)誤地if word else 0在每個(gè)表達(dá)式中添加了一個(gè)語句,這絕對(duì)是不必要的。


查看完整回答
反對(duì) 回復(fù) 2021-11-02
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

您的代碼:


def number_of_vowels(word):

    i = 0

    lower = word.lower()

    for char in lower:

        if char in 'a':

            i += 1

    return(i)   

只是一個(gè)很長(zhǎng)的拼寫方法:


def number_of_vowels(word):

    return word.lower().count('a')

其中(盡管名稱)僅計(jì)算a/A字符,而不是所有元音。該lambda等效是:


lambda word: word.lower().count('a')

如果您想讓它計(jì)算所有元音,仍然可以使用sum函數(shù)和生成器表達(dá)式:


lambda word: sum(1 for let in word.lower() if let in 'aeiouy')


查看完整回答
反對(duì) 回復(fù) 2021-11-02
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)