There are many ways to find the average of a list in Python, provided all of them are of the same type. In this article, we’ll look at some of the methods to find the average element of a Python List.

Let’s get started!

## Method 1: Use reduce() to find the average of a list in Python

We can use the **reduce**() method, along with a lambda function (As shown here).

We’ll sum up the elements using the lambda, and divide the result by the length of the list since **average = (Sum of all elements) / (Number of elements)**

So, the corresponding expression is:

average = (reduce(lambda x, y: x + y, input_list)) / len(input_list)

Let’s take a full example, to show this in action.

from functools import reduce input_list = [3, 2, 1, 5, 7, 8] average = (reduce(lambda x, y: x + y, input_list)) / len(input_list) print("Average of List:", average)

**Output**

Average of List: 4.333333333333333

This is indeed the correct output, since the average is:** (3 + 2 + 1 + 5 + 7 + 8) / 6 = 26 / 6 = 4.333**

We cannot pass elements of different types, since the `+`

operand may not work. So, all the elements of the list must be type compatible with the `+`

operand in order for this to work. This is one of the methods we can find the average of a list in Python.

## Method 2: Using the sum() method (Recommended)

Instead of using the `reduce()`

method, we can directly find the sum using `sum(list)`

, and divide it by the length.

input_list = [3, 2, 1, 5, 7, 8] average = sum(input_list) / len(input_list) print("Average of List:", average)

We’ll get the same output as before!

This is the recommended method of finding the average of a list in Python, since it uses only built-in functions, and is really simple to use.

## Method 3: Using statistics.mean()

For Python versions of **3.4** and above, we can also use the `statistics`

module to find the average of a list in Python.

import statistics input_list = [3, 2, 1, 5, 7, 8] average = statistics.mean(input_list) print("Average of List:", average)

## Method 4: Using numpy.mean()

If you want to use **NumPy** based methods, `numpy.mean()`

will do this for you.

import numpy as np input_list = [3, 2, 1, 5, 7, 8] average = np.mean(input_list) print("Average of List:", average)

You can also convert the list into a **numpy array**, and then get the mean using `ndarray.mean`

. You can use whichever is better for your use-case, but they perform about the same.

import numpy as np input_list = [3, 2, 1, 5, 7, 8] # Convert to a numpy ndarray and get the mean # using ndarray.mean average = np.array(input_list).mean print("Average of List:", average)

## Method 5: Using pandas Series.mean()

If you’re using `Pandas`

, you can get the mean of a list using `pandas.Series(list).mean()`

import pandas as pd input_list = [3, 2, 1, 5, 7, 8] # Convert the list to a Pandas Series using pd.Series(list) # and then get it's mean using series.mean() average = pd.Series(input_list).mean() print("Average of List:", average)

**Output**

Average of List: 4.333333333333333

## Conclusion

In this article, we learned how we could find the average of a list in Python, using different approaches.

## References

- StackOverflow Question on Finding the Average of a List