Python:退出嵌套的两个循环
for row in b:
for drug in drug_input:
for brand in brand_names[drug]:
在第三个循环中,我该怎么退出当前的循环,然后继续处理for row in b:
中的下一个值呢?
11 个回答
8
for row in b:
more_drugs = True
for drug in drug_input:
for brand in brand_names[drug]:
if something:
more_drugs = False
break
if not more_drugs:
break
Python没有直接的方式可以同时跳出两个循环,所以你需要手动处理一下,像这样做。
43
这个例子使用了一个布尔值来判断你是否完成了:
done = False
for x in xs:
for y in ys:
if bad:
done = True
break
if done:
break
如果没有使用 break
,这个代码会 继续
执行。如果使用了 break
,那么 else
部分会被跳过,这样就会看到下一个 break
。这种方法的好处是不用额外的变量,但对一些人来说可能会比较难懂。
for x in xs:
for y in ys:
if bad:
break
else:
continue
break