def char(word):
lower = word.lower()
for letters in lower:
number = letters.count('a')
return(number)
我上面有一个定义的函数,我正在尝试将其更改为 lambda 函数。我该怎么做呢? :)
<小时/>(已更新)下面这个函数怎么样?我试图计算一个单词中所有的“a”,但看看评论,我似乎错了。如果下面的代码方向正确,如何转换为 lambda 函数?
def number_of_vowels(word):
i = 0
lower = word.lower()
for char in lower:
if char in 'a':
i += 1
return(i)
最佳答案
您的代码:
def number_of_vowels(word):
i = 0
lower = word.lower()
for char in lower:
if char in 'a':
i += 1
return(i)
只是一个很长的拼写方式:
def number_of_vowels(word):
return word.lower().count('a')
其中(尽管有名称)仅计算 a
/A
字符,而不是所有元音。等价的 lambda
是:
lambda word: word.lower().count('a')
如果您想让它计算所有元音,仍然可以使用 sum
函数和生成器表达式:
lambda word: sum(1 for let in word.lower() if let in 'aeiouy')
关于python - 将Python中定义的函数更改为lambda函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54584797/