有没有比抛出异常更简单的方法来摆脱嵌套循环?(在Perl中,您可以给每个循环加上标签,至少可以继续一个外部循环。)
for x in range(10): for y in range(10): print x*y if x*y > 50: "break both loops"
即,有没有比以下更好的方法:
class BreakIt(Exception): pass try: for x in range(10): for y in range(10): print x*y if x*y > 50: raise BreakIt except BreakIt: pass
至少有人建议,但也拒绝了。我认为没有其他方法,只需重复测试或重新组织代码即可。有时有点烦人。
范·罗瑟姆(van Rossum)先生在拒绝消息中提到使用return,这确实很明智,我需要个人记住这一点。:)
return