如何根据python中单词中元音的数量对列表进行排序?
我没有在任何网站上找到答案。 这个词应该是元音数量的降序。
答案 0 :(得分:4)
使用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']
答案 1 :(得分:0)
你可以通过创建两个函数来实现,如下所示
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)