使用下面创建的矩阵:
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执行此操作的任何想法?
答案 0 :(得分:2)
从更简单的方式开始定义矩阵:
>>> 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)