python - 在 Python 中迭代/枚举 N^5 的子集

标签 python iteration enumeration

我有一个 ℕ5 的子集,五维向量,其元素位于自然数中。该子集定义为区间 [a1, a2]×[b 1b2]×...×[f1, f2],我想枚举大小为 1 的子集,即向量 (x1 x2x3x 4, x5),其中 x1 位于 [a1a2]、x2 位于 [ b1b2] 等。执行此操作的最佳方法是什么?

最佳答案

这是cartesian product你可以使用 itertools.product计算它:

a = [0, 1]
b = [2, 3]
c = [4, 5]
d = [6, 7]
e = [8, 9]

for subset in product(a, b, c, d, e):
    print(subset)

输出

(0, 2, 4, 6, 8)
(0, 2, 4, 6, 9)
(0, 2, 4, 7, 8)
(0, 2, 4, 7, 9)
(0, 2, 5, 6, 8)
(0, 2, 5, 6, 9)
(0, 2, 5, 7, 8)
(0, 2, 5, 7, 9)
(0, 3, 4, 6, 8)
(0, 3, 4, 6, 9)
(0, 3, 4, 7, 8)
(0, 3, 4, 7, 9)
(0, 3, 5, 6, 8)
(0, 3, 5, 6, 9)
(0, 3, 5, 7, 8)
(0, 3, 5, 7, 9)
(1, 2, 4, 6, 8)
(1, 2, 4, 6, 9)
(1, 2, 4, 7, 8)
(1, 2, 4, 7, 9)
(1, 2, 5, 6, 8)
(1, 2, 5, 6, 9)
(1, 2, 5, 7, 8)
(1, 2, 5, 7, 9)
(1, 3, 4, 6, 8)
(1, 3, 4, 6, 9)
(1, 3, 4, 7, 8)
(1, 3, 4, 7, 9)
(1, 3, 5, 6, 8)
(1, 3, 5, 6, 9)
(1, 3, 5, 7, 8)
(1, 3, 5, 7, 9)

关于python - 在 Python 中迭代/枚举 N^5 的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368024/

相关文章:

python - 使用 selenium python 脚本将值写入隐藏元素

java - 将动态 URL 路由到 App Engine Java 中的静态文件

c++ - 循环增量不起作用

python - for循环: iterating over one value of a list at a time in Python

memory - 使用 ARC 进行 ALAssets 枚举的 iOS 编程内存问题

switch 语句上的 Java Enum

objective-c - 如何停止 enumerateObjectsUsingBlock Swift

python - 如何获取两个单词之间列表的子列表

python - 请在函数内部使用 func() 在 python 中意味着什么

python - 我可以通过使用循环使迭代变得更容易吗?