Python如何退出多重嵌套循环?

问题:

 可能重复:
How to break out of multiple loops in Python?

有没有比抛出异常更容易的方法来打破嵌套循环? (在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

回答:

至少有建议,但rejected。我不认为有另一种方法,不要重复测试或重新组织代码。有时候有点恼人。
rejection message中,van Rossum先生提到使用return,这是非常明智的,我需要记住的一些事情。 🙂

Code问答: http://codewenda.com/topics/python/
Stackoverflow: Breaking out of nested loops

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

53 − 46 =