假设我们有一个变量集,并假设每个变量从集合中获取的值很少。所以。现在有一个函数。如何在上总结到的所有可能值?
例如,如果和以及和那么我正在寻找:
* 的大小可能会发生变化。所以它的大小也在变化。我不想以复杂的形式编写,但实际上我正在添加多个函数,每个函数都有自己的变量集。
答案 0 :(得分:1)
您可以使用itertools.product
>>> from itertools import product
>>> V = [[1,2],[3,4,5]]
>>> summ = 0
>>> for x in product(*V):
print x
# or call some function : summ += func(*x)
...
(1, 3)
(1, 4)
(1, 5)
(2, 3)
(2, 4)
(2, 5)
答案 1 :(得分:0)
您可以使用列表来表示集合。所以V是一个列表清单。
V = [[1,2],[3,4,5]]
r = [[]]
for v in V:
r = [ i + [y] for y in v for i in r ]
# at this point, r contains the inputs for your functions
sum = 0
for domain in r:
sum += function(domain)
您所要做的就是定义您的函数以接受列表。在您的示例中,它将是:
def function(l):
return l[0] * l[1]