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.

Without wasting your time, Let’s start This Article.

Table of Contents

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

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

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

**Also, Read**