multiply each element of a list by a number

Tim Chase python.list at tim.thechases.com
Fri Dec 26 19:46:09 EST 2008


> What does *not* work is 
>         3 * [0,1,2]
> As you know, this gives
>         [0,1,2,0,1,2,0,1,2]
> What I am hoping for is
>         [0,3,6]
> I see that I can use 
>         numpy.multiply(3,range(3))
> but this seems overkill to me.  Can you tell I am coming to Python from 
> Matlab?

The common way to do this is just

  a1 = [0,1,2]
  a2 = [x * 3 for x in a1]

or, if you need a1 to be done in place:

  a1[:] = [x*3 for x in a1]

-tkc







More information about the Python-list mailing list