probablemente no es lo que usted está esperando, pero por lo general se desea tener un break
después de establecer find
a True
for word1 in buf1:
find = False
for word2 in buf2:
...
if res == res1:
print "BINGO " + word1 + ":" + word2
find = True
break # <-- break here too
if find:
break
Otra forma es utilizar una expresión generador para aplastar la for
en un solo bucle
for word1, word2 in ((w1, w2) for w1 in buf1 for w2 in buf2):
...
if res == res1:
print "BINGO " + word1 + ":" + word2
break
También puede considerar el uso de itertools.product
from itertools import product
for word1, word2 in product(buf1, buf2):
...
if res == res1:
print "BINGO " + word1 + ":" + word2
break
+1 ¡simple pero elegante! –
itertools.product() es un gran enfoque. –
He aprendido algo hoy :) – wonzbak