Python sum() Function

Python sum() Function

The built-in Python sum() function is another powerful tool anytime you’re working with numerical data in Python. The first argument to the sum() function should be a collection of numbers that you would like to add up. These numerical values can be contained within a list, tuple, set, or dictionary. The optional second parameter to use with the sum() function is the ‘start’ parameter. This adds a numeric value to the final result. If you try to use a non-numeric data type with sum(), Python will throw an error. Let’s look at several examples of how sum() works now.

sum() with list of integers

The first example shows a list of integers stored in a variable. We can pass that variable to the sum() function, and it adds them all up and returns the result to us.

list_of_ints = [1, 9, 4, 6, 7, 7, 2]
the_sum = sum(list_of_ints)

sum() with list of floating-point numbers

Example two of sum() has a list of floating-point values. We again pass that list of floating-point numbers to the sum() function, and it gives us the result faster than we could ever do it in our head.

list_of_floats = [1.5, 9.2, 4.9, 6.1, 7.8, 7.7, 2.1234]
the_sum = sum(list_of_floats)

sum() with list of integers and optional start

Example three of sum() does make use of the optional start parameter. We can see that we are adding 1 + 1, which of course is 2. Since we used a starting point of 10 however, the final result is actually 12.

list_of_ints = [1, 1]
the_sum = sum(list_of_ints, start=10)

sum() with tuple of integers

Example four of the sum() function adds up all of the integer values stored in a tuple.

tuple_of_ints = (2, 4, 10)
the_sum = sum(tuple_of_ints)

sum() with tuple of floating-point numbers

In example five of the sum() function, we add up some floating point vaues that are stored in a tuple.

tuple_of_floats = (2.55, 4.123, 10.987)
the_sum = sum(tuple_of_floats)

sum() with tuple of integers and optional start

Example six shows how to use sum() with a tuple of integers and the optional start parameter.

tuple_of_ints = (2, 4, 10)
the_sum = sum(tuple_of_ints, start=20)

sum() with a set

Example seven is interesting because we use a set with the sum() function. The result below when adding 2 + 2 + 4 gives a result of 6. How? This is because the set removes the duplicate 2’s before completing the sum operation.

set_of_ints = {2, 2, 4}
the_sum = sum(set_of_ints)

sum() with a dictionary

The last example of the sum() function that we can look at is summing the values of keys in a dictionary.

the_dict = {5: 'The contents in 5',
            7: 'What is stored in seven',
            2: 'One more value'}

result = sum(the_dict)

If you would rather sum all of the values of a dictionary in Python, you can do so like this:

the_dict = {'a': 2, 'b': 4, 'c': 6}

result = sum(the_dict.values())