我有一个for
循环来测试一个条件。如果条件从未满足,我想执行一些代码。下面的代码则正好相反:对于for-else循环中的“else”是否有逆向行为?
a = [1, 2, 3]
for k in a:
if k == 2:
break
else:
print("no match")
,如果未达到所述break
“不匹配”被打印(对于类似k == 10
例如一个条件)。是否有相反的结构,即如果达到了break
,则运行一些代码?
我知道我可以这样做
a = [1, 2, 3]
match = False
for k in a:
if k == 2:
match = True
if match:
print("match")
但寻找一个更紧凑的解决方案,而不标志变量..
注意:我现在从我做的答案实现不清楚我想将“匹配的”代码移到for循环之外。它会相当大,我想避免把它隐藏在for循环(因此标志变量的想法)
谢谢 - 这确实(尽管以完全不同的方式)正是我想要的:一种紧凑的方式来检查条件之前,如果没有匹配,启动代码。 – WoJ 2014-11-22 17:39:43