我正在创建一个可能的排列列表,但我不认为 itertools 能达到我的目的。我基本上需要可变数量的 for 循环,但不确定如何对其进行编码。举一个简单的例子(我的问题没那么简单,但这个例子说明了我需要什么),如果我想要长度为 2 (01,10) 的二进制 0 或 1 的所有可能排列,我需要两个嵌套的 for 循环。长度为 3 我需要 3 个嵌套的 for 循环。当您不知道需要的 for 循环数量时,有关于如何编写此代码的任何提示吗?有没有一种不使用递归的方法?
最佳答案
这很难说,因为解决方案可能会根据实际问题而改变。
在您的示例中,您可以执行以下操作:
>>> from itertools import product
>>> for case in product((0,1), repeat=2):
>>> print case
(0, 0)
(0, 1)
(1, 0)
(1, 1)
关于python - 无递归的可变数量的嵌套 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34185429/