python - 所有矩阵行组合

标签 python algorithm combinations

使用下面创建的矩阵:

matrix = []
for i in range(0, N):
    row = []
    for j in range(0, M):
        row.append(i *j)
    matrix.append(row)

我需要从该矩阵中获取所有行组合。例如:

[matrix[1][1], matrix[2][1], ... , matrix[m][1]]
[matrix[1][1], matrix[2][1], ... , matrix[m][2]]
[...]
[matrix[1][1], matrix[2][n], ... , matrix[m][n]]
[...]
[matrix[1][n], matrix[2][n], ... , matrix[m][n]]

关于如何使用 Python 执行此操作的任何想法?

最佳答案

从定义矩阵的更简单方法开始:

>>> M, N = 3, 4
>>> matrix = [
    [i * j for j in range(M)]
    for i in range(N)
]
>>> matrix
[[0, 0, 0], [0, 1, 2], [0, 2, 4], [0, 3, 6]]

然后使用 itertools.product:

import itertools

for row_combination in itertools.product(*matrix):
    print row_combination
(0, 0, 0, 0)
(0, 0, 0, 3)
(0, 0, 0, 6)
...
(0, 2, 4, 3)
(0, 2, 4, 6)

关于python - 所有矩阵行组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17642075/

相关文章:

java - 如何根据我的规则生成数据中心和机器组合?

python - 从两个列表中找到最佳组合

python - 尽管使用转义字符,但无法用反斜杠拆分字符串

python - 将执行日志合并到报告中

python - 我正在尝试将我的 matlab 代码转换为 python 以获得自适应高斯求积

c# - 无法弄清楚计算时间表以在日历上显示日期的例程 - 算法

对无关对象进行分组的算法

algorithm - 排列数

java - 不重复矩阵的组合

python - 将包作为 Python 中的插件