如何在python中使用矩阵的列表理解?

如何在python中使用矩阵的列表理解?,python,matrix,list-comprehension,Python,Matrix,List Comprehension,我将如何使用列表理解编写以下内容 def mv(A,X,n): Y = [0]*n for i in range(n): for j in range(n): Y[i] += A[i][j] * X[j] return Y 我相信A是矩阵,X是向量。这是我到目前为止尝试过的,但它并没有输出相同的结果: def mv2(A,X,n): res = [sum((A[i][j] * X[i]) for i in range(n)

我将如何使用列表理解编写以下内容

def mv(A,X,n):
    Y = [0]*n
    for i in range(n):
        for j in range(n):
            Y[i] += A[i][j] * X[j]
    return Y
我相信A是矩阵,X是向量。这是我到目前为止尝试过的,但它并没有输出相同的结果:

def mv2(A,X,n):
    res = [sum((A[i][j] * X[i]) for i in range(n) for j in range(n))]
    return res

您非常接近正确答案,因为您应该对正确的目标应用
sum

return [sum([A[i][j] * X[j] for j in range(n)]) for i in range(n)]

注意:如果您想使用库进行计算,
numpy
是一个不错的选择

import numpy as np
def mv2(A, X):
    A = np.array(A)
    X = np.array(X)
    return np.dot(A, X)

谢谢你的帮助。出于好奇,使用numpy被认为适合数组编程范式吗?@ce1在数据科学领域,我想说
numpy
已经是python的标准。它是为阵列编程而设计的。