Search code examples
pythondot-product

What is the pythonic way to calculate dot product?


I have two lists, one is named as A, another is named as B. Each element in A is a triple, and each element in B is just an number. I would like to calculate the result defined as :

result = A[0][0] * B[0] + A[1][0] * B[1] + ... + A[n-1][0] * B[n-1]

I know the logic is easy but how to write in pythonic way?

Thanks!


Solution

  • import numpy
    result = numpy.dot( numpy.array(A)[:,0], B)
    

    http://docs.scipy.org/doc/numpy/reference/

    If you want to do it without numpy, try

    sum( [a[i][0]*b[i] for i in range(len(b))] )