我有一个程序,其中包含另一个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)
但这似乎没有做任何事情,关于如何实现这一点的任何提示?
我建议将内部两个循环放入一个适当命名的函数中.找到密钥后,从函数返回.
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)
归档时间: |
|
查看次数: |
565 次 |
最近记录: |