python - 如何打破 Python 中的嵌套 for 循环?

标签 python loops for-loop break

<分区>

我想知道如何从这样的循环中跳出:

for a in range(95):
    for b in range(95):
        for c in range(95):
            for d in range(95):
                ...
                do some computings
                ...
                if condition:
                    task completed

任务完成后,所有循环和计算继续进行。它们必须被打破,但我不知道如何 - “任务完成”后的单个 break 语句将仅结束最内层的 for 循环,但它将被再次调用多次 - 所以我们一无所获。

在 C 中我会做 a=b=c=d=95 但在 python 中这是行不通的。当然,我可以改用 while 循环,但我必须使用 X+=1 语句,这看起来很糟糕。

有什么帮助吗?


关于循环: 我用它来暴力破解 4 个字符的密码。这不是真正的目的 - 仅用于测试。

最佳答案

使用 itertools 产品:

from itertools import product
for a, b, c, d in product(range(95), range(95), range(95), range(95)):
    print a, b, c, d
    if a == 1: break

较短的版本,感谢 Ashwini:

for a, b, c, d in product(range(95), repeat=4):
    print a, b, c, d
    if a == 1: break

关于python - 如何打破 Python 中的嵌套 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25742107/

相关文章:

java - 队列圆形数组循环

python - send_keys 到隐藏元素

python - Numpy 数组与自定义类的列表

python - 文件没有缓冲接口(interface)

arrays - 在Perl 6中如何知道多值迭代期间的缺失值?

c++ - goto 和 junping 循环循环 c++

javascript - 在 html 中创建 javascript 循环

python - 如何解析div中的表格

Java 编程嵌套循环

r - 计算 R 中每列高于阈值范围的值的数量