匹配任何列表项并在第一场比赛中休息

时间:2014-11-20 19:13:10

标签: python python-2.7

我对python和编程很新。我试图将文件中的单词与列表中的任何一个项匹配,一旦找到匹配,则返回true。即使对匹配使用break,我的代码也不会在第一场比赛中中断。 请原谅任何明显的错误和错误的编码风格。

strings = ["string1", "string2", "string3", "string4"]
node_file = open(filename, 'r')

##printing to check for first match
for line in node_file:
    words = line.split(" ")
    for w in words:
        for string in strings:
            if re.match(string,w):
                print 'found match' , w
                break 

1 个答案:

答案 0 :(得分:0)

break仅适用于执行它的最内层循环;如果你想突破任何封闭的循环,你需要一些额外的机制。例如,要打破所有,你可以把它放在一个函数&使用return退出该功能。另一种方法是设置一些变量,比如说done,当你想要中断时它被设置,并让每个封闭循环检查它是否需要中断。