Python的编程实践问题?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (60)

代码如下

def getVowels(word):
    vowel_list = []
    index = 0
    for i in word:
        if i == "a" or i == "e" or i == "i" or i == "o" or i == "u" or i == "A" or i == "E" or i == "I" or i == "O" or i == "U":
            vowel_list.append(word[index])
        index += 1
    return vowel_list

是否有更好的方法来编写此函数?

提问于
用户回答回答于

可以这样

if i.upper() in "AEIOU"

def get_vowels(word):
    vowels = "AEIOU"
    return [c for c in word if c.upper() in vowels]
用户回答回答于

最好使用集合:

VOWELS = set('aeiouAUIOU')

def get_vowels(word):
    return [c for c in word if c in VOWELS]

或者:

def get_vowels(word):
    return filter(VOWELS.__contains__, word)

(

扫码关注云+社区

领取腾讯云代金券