接下来,我从矩阵的每一行中取一个任意元素,因为矩阵总共有m行,所以我最终得到了m 个元素。
之后,我将这些元素按照行号从小到大排列在一起形成一个元组,即
显然,总共有2^m 个这样的元组。例如,当 m=2 时,我们将有 4 个元组,它们是:
那么,我如何编程以快速生成这些 2^m 元组(在 python 中)?我应该使用哪种算法?
笔记:
输入:一个 m×2 矩阵
输出:2^m 元组
uj5u.com热心网友回复:
itertools.product
例子:
In [1]: import itertools
In [2]: arr = [[1, 2], [3, 4], [5, 6]]
In [3]: list(itertools.product(*arr))
Out[3]:
[(1, 3, 5),
(1, 3, 6),
(1, 4, 5),
(1, 4, 6),
(2, 3, 5),
(2, 3, 6),
(2, 4, 5),
(2, 4, 6)]
0 评论