Python - 如何以矢量形式编写它

时间:2011-04-18 06:59:58

标签: python vectorization

def compute(c, r):
    s = 0;
    l = len(c);
    for i in range(l):
        s = s + c[i]*f(r[i]);
    return s

1 个答案:

答案 0 :(得分:3)

我不知道你的矢量形式是什么意思(除非你使用numpy?),但我会写这样的函数:

def compute(c, r):
  return sum(x*f(y) for x,y in zip(c,r))

如果你正在使用numpy,你可以使用整数组表达式而不是生成器表达式,但在这种情况下cr必须是numpy数组:

def compute(c, r):
  return (c*f(r)).sum()