打破python中的for循环?

时间:2017-10-29 07:32:59

标签: python loops

我试图打破一个检查读取另一个模块中的行的for循环。我注意到这个函数遍历模块中的每一行代码,但它只返回最后一行的布尔值...如何在看到false时立即停止循环而不使用break函数?你不必担心打开文件,我有能力做到这一点

read_lines = file_handle.readlines()

for next_line in all_lines:

    check = next_line[0]

    if (check == ' '):
        result = False

    else:
        result = True
return result

2 个答案:

答案 0 :(得分:1)

了解您想要返回的内容以及 条件下的内容非常重要,因为这会极大地影响您的函数返回的内容和时间。例如,您是否想检查check == ' '是否只有一个案例?在这种情况下,一次回报就足够了。

for next_line in all_lines:
    if next_line[0] == ' ':
        return False

return True

或者,您可以使用any

return not any(x[0] == ' ' for x in all_lines)

或者,它的对应物all具有倒置条件:

return all(x[0] != ' ' for x in all_lines)

请注意str.isspace()是检查字符串是否为空白字符的更加pythonic方式,尽管这会检查所有空白字符(包括制表符和换行符,而不仅仅是空格字符)。

答案 1 :(得分:0)

您可以在代码中添加一个return语句,一旦找到匹配项就会退出函数

read_lines = file_handle.readlines()

for next_line in all_lines:

    check = next_line[0]

    if (check == ' '):
        result = False
        #add a return here
        return result
    else:
        result = True

return result