如何在列表中找出以元音开头的单词?

use*_*826 1 python search list

words = ['apple', 'orange', 'pear', 'milk', 'otter', 'snake', 'iguana',
         'tiger', 'eagle']
vowel=[]
for vowel in words:
    if vowel [0]=='a,e':
        words.append(vowel)
    print (words)
Run Code Online (Sandbox Code Playgroud)

我的代码不对,它会打印出原始列表中的所有单词.

Joh*_*ooy 8

words = ['apple', 'orange', 'pear', 'milk', 'otter', 'snake','iguana','tiger','eagle']
for word in words:
    if word[0] in 'aeiou':
        print(word)
Run Code Online (Sandbox Code Playgroud)

您也可以使用这样的列表理解

words_starting_with_vowel = [word for word in words if word[0] in 'aeiou']
Run Code Online (Sandbox Code Playgroud)


K Z*_*K Z 7

这是列表理解的单行答案:

>>> print [w for w in words if w[0] in 'aeiou']
['apple', 'orange', 'otter', 'iguana', 'eagle']
Run Code Online (Sandbox Code Playgroud)


geo*_*org 5

好的python读起来几乎像自然语言:

vowel = 'a', 'e', 'i', 'o', 'u'
words = 'apple', 'orange', 'pear', 'milk', 'otter', 'snake', 'iguana', 'tiger', 'eagle'
print [w for w in words if w.startswith(vowel)]
Run Code Online (Sandbox Code Playgroud)

w[0]解决方案的问题在于它不适用于空单词(在这个特定示例中无关紧要,但在解析用户输入等现实任务中很重要).