The Algorithms logo
The Algorithms
AboutDonate

Average Mean

G
m
M
W
R
C
Y
E
and 6 more contributors
from __future__ import annotations


def mean(nums: list) -> float:
    """
    Find mean of a list of numbers.
    Wiki: https://en.wikipedia.org/wiki/Mean

    >>> mean([3, 6, 9, 12, 15, 18, 21])
    12.0
    >>> mean([5, 10, 15, 20, 25, 30, 35])
    20.0
    >>> mean([1, 2, 3, 4, 5, 6, 7, 8])
    4.5
    >>> mean([])
    Traceback (most recent call last):
        ...
    ValueError: List is empty
    """
    if not nums:
        raise ValueError("List is empty")
    return sum(nums) / len(nums)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
About this Algorithm

Calculate the average of a list of numbers using mean.

Applications

Calculating the mean of a list of numbers is one of the most common ways to determine the average of those numbers.

Calculating a mean would be useful in these situations:

  • Determining the average score for all players of a video game level.
  • Finding the average grade for tests that a student took this semester.
  • Determining the average size of all files in a directory/folder.

Steps

  1. Input a list of numbers.
  2. Calculate the sum of all numbers in the list.
  3. Count the numbers in the list.
  4. Divide the sum by the total count of numbers in the list.
  5. Return mean.

Example

Given the list [2, 4, 6, 8, 20, 50, 70], let's calculate the average.

Step 1

Send [2, 4, 6, 8, 20, 50, 70] as input for a method/function.

Step 2

Add all the numbers together.

2 + 4 + 6 + 8 + 20 + 50 + 70 = 160, so sum = 160.

Step 3

Count the numbers in the list.

The list has seven numbers, so count = 7.

Step 4

Divide the sum of all the numbers by the count of the numbers.

sum = 160
count = 7

If we ignore significant digits: sum / count = 22.857142

If we properly consider significant digits: sum / count = 23

Step 5

Return the value of 22.857142 or 23.

Implementation

Video URL

Others