Today we will learn three ways to divide each element in a list by a number in Python. Let’s get started.

## Divide each element in a list by a number in Python

In Python, we cannot directly divide a normal list by a number. For example, see the line of code below:

print([3, 6, 9] / 3)

**Output**:

`TypeError: unsupported operand type(s) `**for** /: 'list' **and** 'int'

Instead, follow these instructions:

**Using for loop or list comprehension**

The essence of `for loop`

and `list comprehension`

is to iterate over the elements of an iterable. But the syntax is different.

**For Loop syntax:**

**for** value **in** sequence:
# Loop body

**Parameters:**

**value**: represents the element of the sequence on each iteration.**sequence**: an iterable datatype such as a list, a tuple, a set, or a string.

**List Comprehension syntax:**

`list = [expression for element in iterable]`

**Parameters:**

**element**: the element of**iterable**on each iteration.**expression**: any valid expression that returns a value.**iterable**: an object that can be iterated upon, such as a List, a Tuple, a Set, or a string.

We can use the `For Loop`

to divide each element in a list by a number in Python. Like this:

meters = [1200, 3400, 5600] def m_to_km(meters): result = [] for meter in meters: result.append(meter / 1000) return result print(m_to_km(meters))

**Output:**

`[1.2, 3.4, 5.6]`

You can also use `list comprehension`

to make it more concise. Like this:

meters = [1200, 3400, 5600] kilometers = [meter / 1000 for meter in meters] print(kilometers)

**Output:**

`[1.2, 3.4, 5.6]`

**Using the map() functions and lambda function**

**map() function syntax:**

`map(function, iterable)`

**Parameters:**

**function**: the function that is called on each iteration to execute for each item.**iterable**: an object that can be iterated upon, such as a List, a Tuple, a Set, or a string.

**lambda function syntax:**

`lambda arguments : expression`

**Description: **

The `lambda`

is an anonymous function. It takes an argument and passes it to the expression to execute.

We use an anonymous `lambda`

function to divide an element in the list by any number. The `map()`

function takes each element of the list into a `lambda`

function and returns a map object. Finally, we convert the returned result to a list to get the expected result.

meters = [1200, 3400, 5600] kilometers = list(map(lambda meter : meter / 1000, meters)) print(kilometers)

**Output:**

`[1.2, 3.4, 5.6]`

**Using division operator with NumPy**

NumPy is a Python computation support library that stands for Numerical Python. To use NumPy, you must import NumPy into your application using this line of code:

`Import numpy as np`

To divide each element in a list by a number in Python. First, you must convert your list to an array. Then use the division operator to divide each element by a number. Then finally, you use the `tolist()`

function to convert the returned result into a list.

import numpy as np meters = [1200, 3400, 5600] meters_arr = np.array(meters) kilometers = meters_arr / 1000 print(kilometers.tolist())

**Output:**

`[1.2, 3.4, 5.6]`

**Summary**

There are many ways to divide each element in a list by a number in Python. However, three solutions mentioned in this article are the most straightforward approaches. Leave a comment below if you have any problems. Thanks for reading!

**Maybe you are interested:**

- Split an integer into digits in Python
- Round a float to 2 decimals in python
- Round a number up to the nearest integer in python

Hi, I’m Cora Lopez. I have a passion for teaching programming languages such as Python, Java, Php, Javascript … I’m creating the free python course online. I hope this helps you in your learning journey.

**Name of the university: **HCMUE

**Major**: IT

**Programming Languages**: HTML/CSS/Javascript, PHP/sql/laravel, Python, Java