0

我想获得数组的 n 行的所有可能组合。我不在乎它们是什么顺序,所以这不是一个排列。

例子:

我有一个数组:

[(1,2,3), (4,5,6), (7,8,9)]

问题: 我想找到两行的所有组合:

[(1,2,3), (4,5,6)]
[(1,2,3), (7,8,9)]
…

太感谢了!!

4

2 回答 2

0

使用itertools.combinations组合并将其转换为列表,请参阅文档

from itertools import combinations

lst = [(1,2,3), (4,5,6), (7,8,9)]
for x in combinations(lst, 2):
    print(list(x))
于 2019-10-14T13:40:13.343 回答
0

与 itertools 结合使用

import itertools
test = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
for i in range(0, len(test)):
    for j in sorted(np.arange(len(test)-1,i,-1)):
        print(test[i])
        print(test[j])
        print(list(itertools.product(test[i], test[j])))
于 2019-10-14T13:43:53.087 回答