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

问题描述 投票:0回答:3

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

我在任何网站上都没有找到答案。 该单词应按元音数量降序排列。

python list sorting python-2.7
3个回答
5
投票

使用

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']

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)

0
投票

定义计数(字): a =“aeiouAEIOU” 返回总和(a 中的 c 对应 word 中的 c)

def sort_strings(字符串): 返回已排序(字符串,键=计数)

if name == "main": string = ['年龄', '当心', '援助', '机场', '自行车'] 排序字符串=排序字符串(字符串)

enter code here
打印(已排序的字符串)

© www.soinside.com 2019 - 2024. All rights reserved.