【发布时间】:2021-09-27 04:21:06
【问题描述】:
我正在阅读有关 lambda 的文章,尽管我可以说我理解它的用途,但我似乎仍然无法获得更多代码行。
练习的主体:
给定一个字符串列表,根据它们包含的元音数量对它们进行排序。
代码:
def sort_vowel(sequence):
return sorted(sequence, key=lambda word: sum(v in 'aeiou' for v in word), reverse= True)
从这里开始:
lambda 启动“匿名函数”并采用参数“单词”。但我不知道 sum() 如何计算单词中的元音,
我试着用更通用的方式来写它:
def sort_vowel(sequence):
for word in sequence:
for v in word:
if v in 'aeiou':
vowels = sum(v)
return sorted(sequence, key= vowels)
这个有什么问题吗?我明白了
TypeError: unsupported operand type(s) for +: 'int' and 'str'
无论如何我想了解它是如何总结字符串中的元素以及我编写的函数有什么问题?...
【问题讨论】:
标签: python loops sorting lambda sum