首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找列表Python中以元音开头的第一个字符串

查找列表Python中以元音开头的第一个字符串
EN

Stack Overflow用户
提问于 2019-01-02 05:05:18
回答 4查看 2.2K关注 0票数 2

我是蟒蛇的新手-

我必须构建一个名为'first__vowel'的函数。接受字符串列表作为输入,并返回以小写元音("a","e","i","o", or "u")开头的第一个字符串。如果没有以元音开头的字符串,则返回空字符串("")

你能帮我构建这个功能吗。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-02 05:13:22

你需要:

代码语言:javascript
复制
def first_vowel(lst):
    # iterate over list using for loop
    for i in lst:
        # check if first letter is vowel
        if i and i[0] in ['a','e','i','o','u']:
            return i 
    return ""

k = ['sad','dad','mad','asd','eas']
print(first_vowel(k))

或者您也可以使用regex

代码语言:javascript
复制
import re

def first_vow(lst):
    pat = re.compile(r'^[aeiou][a-zA-Z]*')
    for i in lst:
        match = re.match(pat, lst)
        if match:
            return i
    return ""

k = ['sad','Aad','mad','','asd','eas']
first_vow(k)
票数 0
EN

Stack Overflow用户

发布于 2019-01-02 05:15:57

检查一下这个:

代码语言:javascript
复制
vowels = ["a", "e", "i", "o", "u"]

def first_vowel(ss):
    for s in ss:
        if s and s[0] in vowels:
            return s
    return ""

测试:

代码语言:javascript
复制
first_vowel(["Drere", "fdff", "", "aBD", "eDFF"])
'aBD'
票数 2
EN

Stack Overflow用户

发布于 2019-01-02 05:25:06

您也可以始终使用str.startswith()函数:

代码语言:javascript
复制
def first_vowel(lst):
    for elem in lst:
        if elem.startswith(('a','e','i','o','u')):
            return elem
    return ''
k = ['', 'b','sad','dad','mad','asd','eas']
print(first_vowel(k))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54001454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档