首页 > 解决方案 > 在python中使用列表理解来获取具有多个(3)元音的单词

问题描述

这是我的问题

fruits = ['mango', 'kiwi', 'strawberry', 'guava', 'pineapple', 'mandarin orange']

# Use a list comprehension to make a variable named fruits_with_more_than_two_vowels. Hint: You'll need a way to check if something is a vowel.

我可以单独在列表理解中做到这一点吗?

标签: pythonlist-comprehension

解决方案


您可以使用正则表达式模式来过滤掉辅音。

import re

fruits = ["mango", "kiwi", "strawberry", "guava", "pineapple", "mandarin orange"]
results = [i for i in fruits if len(re.sub(r"[^aeiouAEIOU]", "", i)) > 2]

上面的代码产生以下输出。

>>> results
["guava", "pineapple", "mandarin orange"]

推荐阅读