控制for循环(python)

cyb*_*mon 4 python for-loop

我有一个程序,其中包含另一个for循环中的for循环,它产生一行,我有一个if语句,检查行中的键.

这是一个例子

list1=[var1,var2,var3]

list2 = [file1,file2,file3]


for v in list1:
     //do stuff that returns a string, string.splitlines()
    for f in list2:
        for line in string  
           if key in line and f in line:
               print "line"
              break
           else:
              continue
Run Code Online (Sandbox Code Playgroud)

我得到了我正在寻找的结果,但是我想控制循环,我的意思是在第一次迭代中我们有var1并且它将循环遍历file1,file2和file3然后下一次迭代var2并且它将循环通过file1,file2,file3等等

我如何改变它,以便当它找到该行时,它将不会进一步使用var1而是采用var2然后继续?我试过跟随

i = iter(list1)
j = iter(list2)
Run Code Online (Sandbox Code Playgroud)

以及后面的打印线

if key in line and f in line:
     print "line"
     i.next()
     j.next()
     break
Run Code Online (Sandbox Code Playgroud)

但这似乎没有做任何事情,关于如何实现这一点的任何提示?

Iai*_*ain 5

我建议将内部两个循环放入一个适当命名的函数中.找到密钥后,从函数返回.

list1=[var1,var2,var3]

list2 = [file1,file2,file3]

for v in list1:
     //do stuff that returns a string, string.splitlines()
    find_line(string)
Run Code Online (Sandbox Code Playgroud)

然后:

def find_line(string):
    for f in list2:
        for line in string  
           if key in line and f in line:
               print "line"
               return
           else:
              continue
Run Code Online (Sandbox Code Playgroud)