用于使用两个向量索引矩阵的Python函数

时间:2015-02-16 05:49:25

标签: python matrix

假设我们有一个矩阵M和两个向量a和b Python中是否有一个函数返回:
x = f(M,a,b) x(i) = M(a(i),b(i))?

。{{1}}

这当然是假设a和b中的元素不超过M的大小。

1 个答案:

答案 0 :(得分:0)

def f(M, a, b):
    return [M[xa, xb] for xa, xb in zip(a, b)]

接近你所要求的。

您没有指定ab是否具有相同的长度,或者如果他们不是zip则该怎么做,我是这样做的。在这里使用,当较短其中一个用尽时(如果它们的长度不同),它就会停止。

我还假设x(i)你的意思是x[i](& c) - 方括号(索引)和普通括号(函数调用)之间的区别在Python中至关重要,但是在函数调用方面进行思考(这是你发布的Q明确指出的内容)没有任何意义。