如何根据Python中单词中的元音数量对列表进行排序?
我在任何网站上都没有找到答案。 该单词应按元音数量降序排列。
sorted
或 list.sort
。
用计算元音数量的函数指定
key
。 (函数的返回值作为比较键。)
传递
reverse=True
参数以降序排列。
>>> word_list = ['banana', 'apple', 'pineapple']
>>> sorted(word_list,
... key=lambda word: sum(ch in 'aeiou' for ch in word),
... reverse=True)
['pineapple', 'banana', 'apple']
您可以通过创建两个函数来完成,如下所示
def vowel_count_test(string):
count=0
for z in string:
if z in ['a','e','i','o','u']:
count=count+1
return count
def sort_by_vowel_count(words):
return words.sort(key=vowel_count_test,reverse=True)
定义计数(字): a =“aeiouAEIOU” 返回总和(a 中的 c 对应 word 中的 c)
def sort_strings(字符串): 返回已排序(字符串,键=计数)
if name == "main": string = ['年龄', '当心', '援助', '机场', '自行车'] 排序字符串=排序字符串(字符串)
enter code here
打印(已排序的字符串)