python - 无递归的可变数量的嵌套 for 循环

标签 python

我正在创建一个可能的排列列表,但我不认为 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/

相关文章:

python - 根据每个唯一 ID 的最新时间戳过滤数据框

python - Django:在管理界面中显示有用的数据库数据?

python - (Python) 类型错误 : 'float' object is not subscriptable

python - Windows 视频播放器无法播放 ffmpeg 中裁剪的视频

python - 如何在 Python 类描述符对象上调用方法?

python - (8)Exec格式错误: exec of ' ' failed - CentOS

python - 按值对像素进行二值化

python - python 中的刽子手 : have lines be replaced?

python - 如何更改 __init__ 中的类属性?

python - 子选择多索引 pandas 数据框以创建多个子集(使用字典)