def compute(c, r):
s = 0;
l = len(c);
for i in range(l):
s = s + c[i]*f(r[i]);
return s
答案 0 :(得分:3)
我不知道你的矢量形式是什么意思(除非你使用numpy?),但我会写这样的函数:
def compute(c, r):
return sum(x*f(y) for x,y in zip(c,r))
如果你正在使用numpy,你可以使用整数组表达式而不是生成器表达式,但在这种情况下c
和r
必须是numpy数组:
def compute(c, r):
return (c*f(r)).sum()