使用下面创建的矩阵:
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/