Skip to main content
 首页 » 编程设计

python之如何确定列表中的项目是否以某个字符开头 (Python)

2025年05月04日16落叶无声

我正在尝试遍历 python 中的列表,并确定列表中的任何项目是否以字符 “a” 开头。但是,我的代码似乎只检查列表中的第一项,而不遍历其余项。

def isA(myList): 
for i in range(len(myList)): 
    if myList[i][0] == "a": 
        print "True" 
        return True 
    else: 
        print "False" 
        return False 

例如 isA(["acorn", "baseball"]) 会返回 True,但是 isA(["baseball", "acorn"] 返回 False,而它应该返回 True 因为列表中有一个以 a 开头的项目。

请您参考如下方法:

if block 中有一个return,else block 中有一个return。因此,无论条件如何评估,您绝对会点击 return 并且函数将立即终止,迭代不超过一次。

如果您想检查任何项是否以“a”开头,请不要在找到不以“a”开头的项后立即返回。将 return 移动到函数的末尾。

def isA(myList): 
    for i in range(len(myList)): 
        if myList[i][0] == "a": 
            return True 
    return False 

或者,完全跳过编写函数并使用内置函数any。

>>> any(s.startswith("a") for s in ["baseball", "acorn"]) 
True