擅长:python、mysql、java
<p>itertools运行良好。但是你需要检查你想用的数字…在1和你的集合中的数字之间。不确定是否需要0作为退化情况。以下工作。它可以被压缩,但它是相当可读的。查找“python函数指针”。你知道吗</p>
<pre><code>import itertools as it
def f1():
return 1
def f2():
return 2
def f3():
return 3
functionList = [f1, f2, f3]
fsets = set([])
for num in range(1, len(functionList)+1):
for combo in it.combinations(functionList, num):
fsets.add(combo)
for fc_combo in fsets:
temp = 0
for f in fc_combo:
temp += f()
print temp
</code></pre>