How to multiply all integers inside list [duplicate]
Try a list comprehension:
l = [x * 2 for x in l]
This goes through l
, multiplying each element by two.
Of course, there's more than one way to do it. If you're into lambda functions and map
, you can even do
l = map(lambda x: x * 2, l)
to apply the function lambda x: x * 2
to each element in l
. This is equivalent to:
def timesTwo(x): return x * 2l = map(timesTwo, l)
Note that map()
returns a map object, not a list, so if you really need a list afterwards you can use the list()
function afterwards, for instance:
l = list(map(timesTwo, l))
Thanks to Minyc510 in the comments for this clarification.
The most pythonic way would be to use a list comprehension:
l = [2*x for x in l]
If you need to do this for a large number of integers, use numpy
arrays:
l = numpy.array(l, dtype=int)*2
A final alternative is to use map
l = list(map(lambda x:2*x, l))
The simplest way to me is:
map((2).__mul__, [1, 2, 3])