小编典典

突破嵌套循环

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

阅读 149

收藏
2020-12-20

共1个答案

小编典典

至少有人建议,但也拒绝了。我认为没有其他方法,只需重复测试或重新组织代码即可。有时有点烦人。

范·罗瑟姆(van
Rossum)先生在拒绝消息中提到使用return,这确实很明智,我需要个人记住这一点。:)

2020-12-20