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

1 に答える 1

3

ベクトル形式で何を意味するのかわかりませんが(numpyを使用していない限り?)、関数を次のように記述します。

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

numpy を使用している場合は、ジェネレーター式の代わりに配列全体の式を使用できますが、その場合は numpy 配列cで なければなりません。r

def compute(c, r):
  return (c*f(r)).sum()
于 2011-04-18T07:04:50.143 に答える