4

行を生成する別の 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

しかし、これは何もしていないようです。これを達成する方法に関するヒントはありますか?

4

4 に答える 4

0

見つけたことを示すフラグを設定できます。

for v in list1:
 //do stuff that returns a string, string.splitlines()
    flag = False
    for f in list2:
        for line in string:
           if key in line and f in line:
               print "line"
               flag = True
               break
        if flag:
            break
于 2012-07-26T15:42:54.527 に答える