【发布时间】:2014-01-14 14:01:18
【问题描述】:
如何根据python中单词中元音的数量对列表进行排序?
我没有在任何网站上找到答案。 单词按元音个数降序排列。
【问题讨论】:
标签: python list sorting python-2.7
如何根据python中单词中元音的数量对列表进行排序?
我没有在任何网站上找到答案。 单词按元音个数降序排列。
【问题讨论】:
标签: python list sorting python-2.7
使用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']
【讨论】:
word 是项目。 (lambda 的一个参数)
你可以通过创建如下两个函数来做到这一点
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)
【讨论】: