Skip to main content
 首页 » 编程设计

python之检查列表中的项目

2025年05月04日13dflying

我有这样一个函数:

def checks(a,b): 
    for item in a: 
        if b[1] == item[1]: 
           return True 
        else: 
           return False 

我想检查 b 的第二个值是否在 a 中的项目的第二个值中,例如:

checks(['5v','7y'],'6y') 
>>> True 

但我现在的代码将返回 False,因为我相信它正在比较 '6y' 和 '5v'。我该如何解决这个问题?

请您参考如下方法:

您在正确的位置返回 True,但如果第一项不匹配,该函数会立即返回 False,而不是继续循环。只需将 return False 移动到函数的末尾,在循环之外:

def checks(a,b): 
    for item in a: 
        if b[1] == item[1]: 
           return True 
 
    return False 

True 将在项目匹配时返回,而 False 将在循环结束但没有匹配项时返回。

无论如何,这解释了为什么您的代码不起作用,但是按照其他人的建议使用 any 是 Pythonic。 =)