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.
1 2 3 |
list_of_ints = [1, 9, 4, 6, 7, 7, 2] the_sum = sum(list_of_ints) print(the_sum) |
36
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.
1 2 3 |
list_of_floats = [1.5, 9.2, 4.9, 6.1, 7.8, 7.7, 2.1234] the_sum = sum(list_of_floats) print(the_sum) |
39.32340000000001
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.
1 2 3 |
list_of_ints = [1, 1] the_sum = sum(list_of_ints, start=10) print(the_sum) |
12
sum() with tuple of integers
Example four of the sum() function adds up all of the integer values stored in a tuple.
1 2 3 |
tuple_of_ints = (2, 4, 10) the_sum = sum(tuple_of_ints) print(the_sum) |
16
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.
1 2 3 |
tuple_of_floats = (2.55, 4.123, 10.987) the_sum = sum(tuple_of_floats) print(the_sum) |
17.66
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.
1 2 3 |
tuple_of_ints = (2, 4, 10) the_sum = sum(tuple_of_ints, start=20) print(the_sum) |
36
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.
1 2 3 |
set_of_ints = {2, 2, 4} the_sum = sum(set_of_ints) print(the_sum) |
6
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.
1 2 3 4 5 6 |
the_dict = {5: 'The contents in 5', 7: 'What is stored in seven', 2: 'One more value'} result = sum(the_dict) print(result) |
14
If you would rather sum all of the values of a dictionary in Python, you can do so like this:
1 2 3 4 |
the_dict = {'a': 2, 'b': 4, 'c': 6} result = sum(the_dict.values()) print(result) |
12