我有一个程序,它在另一个 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
我得到了我正在寻找的结果,但我想控制循环,我的意思是在第一次迭代中我们有 var1,它将循环遍历 file1、file2 和 file3,然后是下一次迭代 var2 和它将循环遍历 file1、file2、file3 等等
我将如何更改它以便当它找到该行时,它不会继续使用 var1 而是使用 var2 然后继续?我试着跟随
i = iter(list1)
j = iter(list2)
打印行之后的内容
if key in line and f in line:
print "line"
i.next()
j.next()
break
但这似乎没有任何作用,关于如何实现这一目标的任何提示?
最佳答案
我建议将内部两个循环放入适当命名的函数中。找到 key 后,从函数返回。
list1=[var1,var2,var3]
list2 = [file1,file2,file3]
for v in list1:
//do stuff that returns a string, string.splitlines()
find_line(string)
然后:
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
关于python - 控制for循环(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11672895/