# Python Average

By | October 19, 2021

Unfortunately, Python does not provide a standard built-in function to calculate the average of a list of numbers. Finding the average of a list of numbers is not that hard, all we need to do is divide the total sum of elements with the total number of elements present in the list. To calculate the sum of the list we can use the Python `sum()` function, and to find the total number of elements we can use the `len()` function.

In this tutorial, we will walk through two different techniques to compute the average of a list of numbers. And to have a better understanding of the techniques we will discuss the examples.

So let’s get started.

## Python Average Overview

There are two most common ways to calculate the average of a list of numbers in Python.

1. By dividing the total sum of the list by the total number of elements present in the list.
2. By using the Python `statistics.mean()` method.

There are many third-party Python mathematical computational libraries like numpy, scipy, and pandas that also provide the methods to calculate the average of a list or array. But here we will not be discussing those, because in order to use those libraries we need to install them, and for such trivial tasks finding the average of a list we should not depend on those powerful libraries.

### 1. Python Average: Using sum() and len() functions

The most common and straightforward way to calculate the average of a Python list is finding the sum of the list using `sum()` function and divide that sum by the total number of elements, which can find out using `len()` function.

`sum()`: `sum` is a Python standard function, that accepts a list and tuple of numbers as an argument value and returns the total sum of the numbers present in the list or tuple.

`len()`: `len` is also a Python standard function, which can accept an iterable object as an argument value and return the total number of elements or characters present in that iterable object.

Syntax

The syntax to calculate average using sum() and `len()` functions.

`average = sum(list_name) / len(list_name)`

### Example

Let’s say you have 3 bill lists `june_bills`, `july_bills`, and `august_bills`, and all these thee lists contains the amount of money you spend on different products in the month of June, July and August.

And now you need to find out the average spend of every month.

```june_bills = [23, 3443.33, 764.48, 8736, 848, 342, 100]
july_bills = [33,536.37, 223.34, 8364,823, 263, 947]
august_bills = [984, 764, 49, 678, 3647,234, 113]

# cumpute the average for three months
june_average = sum(june_bills)/ len(june_bills)
july_average = sum(july_bills)/ len(july_bills)
august_average = sum(august_bills)/len(august_bills)

print("Average June Spending: ", round(june_average, 2))
print("Average July Spending: ", round(july_average,2))
print("Average August Spending: ", round(august_average,2))```

Output:

```Average June Spending: 2036.69
Average July Spending: 1598.53
Average August Spending: 924.14```

### 2. Python Average: Using statistics.mean()

Python provides an in-built module `statistics` and this module comes with many functions to calculate mathematical statistics on numerical data.

Among all the functions provided by statistics modules, the `mean()` method can be used to calculate the arithmetic mean or average of an iterable object.

Syntax

```import statistics

average = statistics.mean(list_name)```

Example

Let’s implement the same example as we discussed in the `sum()`, and `len()` section. But now instead of `sum()` and `len()` we will use the `mean()` method to calculate the average sum.

```import statistics

june_bills = [23, 3443.33, 764.48, 8736, 848, 342, 100]
july_bills = [33,536.37, 223.34, 8364,823, 263, 947]
august_bills = [984, 764, 49, 678, 3647,234, 113]

# cumpute the average for three months using mean() method
june_average = statistics.mean(june_bills)
july_average = statistics.mean(july_bills)
august_average = statistics.mean(august_bills)

print("Average June Spending: ", round(june_average, 2))
print("Average July Spending: ", round(july_average,2))
print("Average August Spending: ", round(august_average,2))
```

Output

```Average June Spending: 2036.69
Average July Spending: 1598.53
Average August Spending: 924.14```

## Wrapping Up!

Finding the average of a list of numbers is very easy. We can either use `sum()` & `len()` technique or statistics.mean() method to compute the average of a list or tuple elements. If you ever encounter this problem in your program, there you must use the `sum()` and `len()` technique because importing a module just for one function is not a great idea.

You can also follow a long approach where you first calculate the total sum of a list using for loop then divide the total sum with the total number of elements. But it would not be a Pythonic way, if you have an inbuilt function to perform tasks you should always use that one.