How to multiply all integers inside list

PythonListMultiplicationScalarElementwise Operations

Python Problem Overview


Hello so I want to multiply the integers inside a list.

For example;

l = [1, 2, 3]
l = [1*2, 2*2, 3*2]

output:

l = [2, 4, 6]

So I was searching online and most of the answers were regarding multiply all the integers with each other such as:

[123]

Python Solutions


Solution 1 - Python

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 * 2

l = 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.

Solution 2 - Python

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))

Solution 3 - Python

Another functional approach which is maybe a little easier to look at than an anonymous function if you go that route is using functools.partial to utilize the two-parameter operator.mul with a fixed multiple

>>> from functools import partial
>>> from operator import mul
>>> double = partial(mul, 2)
>>> list(map(double, [1, 2, 3]))
[2, 4, 6]

Solution 4 - Python

The simplest way to me is:

map((2).__mul__, [1, 2, 3])

Solution 5 - Python

using numpy :

    In [1]: import numpy as np

    In [2]: nums = np.array([1,2,3])*2

    In [3]: nums.tolist()
    Out[4]: [2, 4, 6]

Solution 6 - Python

#multiplying each element in the list and adding it into an empty list
original = [1, 2, 3]
results = []
for num in original:
    results.append(num*2)# multiply each iterative number by 2 and add it to the empty list.
        
print(results)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAndreView Question on Stackoverflow
Solution 1 - PythonAPersonView Answer on Stackoverflow
Solution 2 - PythonJoshuaView Answer on Stackoverflow
Solution 3 - PythonmiraduloView Answer on Stackoverflow
Solution 4 - Pythonblameless75View Answer on Stackoverflow
Solution 5 - Pythonilya shustermanView Answer on Stackoverflow
Solution 6 - PythonJonathan Akwetey OkineView Answer on Stackoverflow