Python - 如何用向量形式表达这个

-1 投票
1 回答
841 浏览
提问于 2025-04-16 15:56
def compute(c, r):
    s = 0;
    l = len(c);
    for i in range(l):
        s = s + c[i]*f(r[i]);
    return s

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

1 个回答

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()

撰写回答