根据python中单词中的元音数量对列表进行排序

时间:2014-01-14 14:01:19

标签: python list sorting python-2.7

如何根据python中单词中元音的数量对列表进行排序?

我没有在任何网站上找到答案。 这个词应该是元音数量的降序。

2 个答案:

答案 0 :(得分:4)

使用sortedlist.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)