How to perform element-wise multiplication of two lists?

xxjjnn picture xxjjnn · Apr 22, 2012 · Viewed 311.5k times · Source

I want to perform an element wise multiplication, to multiply two lists together by value in Python, like we can do it in Matlab.

This is how I would do it in Matlab.

a = [1,2,3,4]
b = [2,3,4,5]
a .* b = [2, 6, 12, 20]

A list comprehension would give 16 list entries, for every combination x * y of x from a and y from b. Unsure of how to map this.

If anyone is interested why, I have a dataset, and want to multiply it by Numpy.linspace(1.0, 0.5, num=len(dataset)) =).

Answer

gahooa picture gahooa · Apr 22, 2012

Use a list comprehension mixed with zip():.

[a*b for a,b in zip(lista,listb)]