在Python中执行for循环

时间:2018-02-19 12:29:04

标签: python for-loop if-statement

def search_for_element(L, char):
    for i in L:
        if i == char:
            return True
        else:
            return False

当我运行该功能时,它只在屏幕上输出一个语句。 那么为什么for循环只执行一次呢?

1 个答案:

答案 0 :(得分:2)

return终止该函数,将return False移到循环之后:

def search_for_element(L, char):
    for i in L:
        if i == char:
            return True
    return False

或者简单地说:

def search_for_element(L, char):
    return char in L

虽然注意后者不是完全等价,因为它也测试身份(不仅仅是相等)。这只会在相当不寻常的情况下起作用,例如numpy.NAN == numpy.NANFalsenumpy.NAN in [numpy.NAN]True

所以单线代替是:

def search_for_element(L, char):
    return any(char == i for i in L)