這個問題在這里已經有了答案:
接下來,我從矩陣的每一行中取一個任意元素,因為矩陣總共有m行,所以我最終得到了m 個元素。
之后,我將這些元素按照行號從小到大排列在一起形成一個元組,即
![給定一個矩陣,如何在 python 中快速生成由其行元素組成的所有元組?[復制]](https://img.uj5u.com/2022/01/13/71c944620e9540e1b93e37c0188c0e30.png)
顯然,總共有2^m 個這樣的元組。例如,當 m=2 時,我們將有 4 個元組,它們是:
![給定一個矩陣,如何在 python 中快速生成由其行元素組成的所有元組?[復制]](https://img.uj5u.com/2022/01/13/c98faca9bb4f4df5b8e8788e249693e2.png)
那么,我如何編程以快速生成這些 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)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/409376.html
標籤:
上一篇:Julia中的合并排序實作
