R中的函数combn(x,m)
生成一次取m的元素x的所有组合。例如,
t(combn(5,2))
[,1] [,2]
[1,] 1 2
[2,] 1 3
[3,] 1 4
[4,] 1 5
[5,] 2 3
[6,] 2 4
[7,] 2 5
[8,] 3 4
[9,] 3 5
[10,] 4 5
如何在python中获得相同的结果?我知道scipy.misc.comb
只给出了结果而不是列表,我也读了this article这看起来不同,并且首先需要一个给定的列表而不仅仅是两个整数。
答案 0 :(得分:2)
itertools.combinations(iterable, r)
这会生成r个长度元组的可迭代。如果您想将它作为列表,那么您可以看到所有内容:
list(itertools.combinations(range(1,6), 2))
# [(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]