我需要编写一个函数,通过按元音计数过滤列表来返回列表。
我尝试了这个,但输出不正确:
def filter_by_vowel_count(input, count):
for words in input:
for p in words:
if p in 'aeiou':
value +=1
if value == count:
list1.append(words)
最佳答案
使用sum
和生成器表达式:
>>> def filter_by_vowel_count(words, count):
... result = []
... for word in words:
... if sum(p in 'aeiou' for p in word) == count:
... result.append(word)
... return result
...
>>> fruits = ['banana', 'apple', 'lemon', 'pineapple', 'coconut']
>>> filter_by_vowel_count(fruits, 2)
['apple', 'lemon']
>>> filter_by_vowel_count(fruits, 3)
['banana', 'coconut']
关于python - 在Python中返回按元音计数过滤的列表的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21351278/