Python 中组合函数 C(n,m) = n!/(m!*(n-m)!) 有两个:
1.itertools.combinations
返回一个对象,其自带指针函数 因此有可以使用 for,例如
a = [1,2,3,4]
c = itertools.combinations(a,2)
for i in c:
print i
其返回结果为
(1, 2)
(1, 3)
(1, 4)
(2, 3)
(2, 4)
(3, 4)
如果想一次性取得所有组合使用list(c)
2. scipy.misc.comb
其返回值为c(n,m)
如果参数为numpy.array对象,其会返回一个numpy.array
例如
a = numpy.array([4,5,6])
b = numpy.array([2,2,3])
comb(a,b)
其返回值为
array([ 6., 10., 20.])
即array([C(4,2),C(5,2),C(6,3)])
转载本文请联系原作者获取授权,同时请注明本文来自杨玠科学网博客。
链接地址:http://blog.sciencenet.cn/blog-642900-748738.html
上一篇:Pythonxy的安装注意事项