How do I multiply each element in a list by a number?

Hello Guys, How are you all? Hope You all Are Fine. Today We Are Going To learn about How do I multiply each element in a list by a number in Python. So Here I am Explain to you all the possible Methods here.

How do I multiply each element in a list by a number?

1. How do I multiply each element in a list by a number?

A blazingly faster approach is to do the multiplication in a vectorized manner instead of looping over the list. Numpy has already provided a very simply and handy way for this that you can use.

2. multiply each element in a list by a number

A blazingly faster approach is to do the multiplication in a vectorized manner instead of looping over the list. Numpy has already provided a very simply and handy way for this that you can use.

Method 1

You can just use a list comprehension:

```my_list = [1, 2, 3, 4, 5]
my_new_list = [i * 5 for i in my_list]

>>> print(my_new_list)
[5, 10, 15, 20, 25]
```

Note that a list comprehension is generally a more efficient way to do a `for` loop:

```my_new_list = []
for i in my_list:
my_new_list.append(i * 5)

>>> print(my_new_list)
[5, 10, 15, 20, 25]
```

As an alternative, here is a solution using the popular Pandas package:

```import pandas as pd

s = pd.Series(my_list)

>>> s * 5
0     5
1    10
2    15
3    20
4    25
dtype: int64
```

Or, if you just want the list:

```>>> (s * 5).tolist()
[5, 10, 15, 20, 25]```

Method 2

A blazingly faster approach is to do the multiplication in a vectorized manner instead of looping over the list. Numpy has already provided a very simply and handy way for this that you can use.

```>>> import numpy as np
>>>
>>> my_list = np.array([1, 2, 3, 4, 5])
>>>
>>> my_list * 5
array([ 5, 10, 15, 20, 25])
```

Note that this doesn’t work with Python’s native lists. If you multiply a number with a list it will repeat the items of the as the size of that number.

```In [15]: my_list *= 1000

In [16]: len(my_list)
Out[16]: 5000
```

If you want a pure Python-based approach using a list comprehension is basically the most Pythonic way to go.

```In [6]: my_list = [1, 2, 3, 4, 5]

In [7]: [5 * i for i in my_list]
Out[7]: [5, 10, 15, 20, 25]
```

Beside list comprehension, as a pure functional approach, you can also use built-in `map()` function as following:

```In [10]: list(map((5).__mul__, my_list))
Out[10]: [5, 10, 15, 20, 25]
```

This code passes all the items within the `my_list` to `5`‘s `__mul__` method and returns an iterator-like object (in python-3.x). You can then convert the iterator to list using `list()` built in function (in Python-2.x you don’t need that because `map` return a list by default).

benchmarks:

```In [18]: %timeit [5 * i for i in my_list]
463 ns ± 10.6 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [19]: %timeit list(map((5).__mul__, my_list))
784 ns ± 10.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [20]: %timeit [5 * i for i in my_list * 100000]
20.8 ms ± 115 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

In [21]: %timeit list(map((5).__mul__, my_list * 100000))
30.6 ms ± 169 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

In [24]: arr = np.array(my_list * 100000)

In [25]: %timeit arr * 5
899 µs ± 4.98 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)```

Summery

It’s all About this issue. Hope all Methods helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which Method worked for you? Thank You.