【发布时间】:2015-06-15 14:06:35
【问题描述】:
除了这样做:
from itertools import combinations
def brute_force(x):
for l in range (1,len(x)+1):
for f in list(combinations(range(0,len(x)),l)):
yield f
x = range(1,18)
len(list(brute_force(x)))
[出]:
131071
如何数学计算所有可能组合的数量?
有没有一种方法可以在不列举可能的组合的情况下进行计算?
【问题讨论】:
-
itertools.combinations: 返回的项目数是n! /r! /(n-r)!当 0 n 时为零。 你为什么要将combinations(range(0,len(x)),l)转换为list?
标签: python math combinations itertools