假设我有一个数字列表 - A1,A2,A3,A4,A5,....,An。
我如何计算 - (A1*A2)+(A1*A3)+(A1*A4)+(A1*A5)+(A1*A6)+....
?
Ex-For 1,2,3,我需要计算1*2+2*3+1*3=11
。
还针对包含超过2个术语的组合推广您的解决方案
三个学期的前言 - (A1*A2*A3)+(A1*A3*A4)+(A1*A4*A5)+(A2*A3*A4)+....
答案 0 :(得分:0)
import itertools
def sumOfCombinations(l,s):
return sum(prod(seq) for seq in (itertools.combinations(l, s)))
def prod(l):
product = 1
for x in l:
product*=x
return product
#exemple
myList = [1,2,3]
size = 2
print(sumOfCombinations(myList,size))
这实际上是在python中完成的。可能有一些更多的pythonic方法来实现这一目标。但结果就在那里。