The Python sum() function takes a list of numbers, and sums them up (totals/adds them all together). Here’s how to use it, with examples.
Summing/Totalling/Adding Numbers
The concept of summing numbers is simple – take the numbers you wish to get the total of, and add them all together.
1 + 2 + 3 = 6
It’s basic arithmetic that you’ll use daily when writing computer software in any language.
Summing Numbers in Python
The sum() function in Python sums numbers. It’s a built-in function, which can be used anywhere in your code without having to import any dependencies.
sum() Syntax
The syntax for the sum() function is as follows:
sum(ITERABLE, START)
Note that:
- ITERABLE can be any Python iterable, containing numerical values
- Usually, this is a list of numbers
- START is an optional starting position within the sequence of supplied numbers to start summing from
- If not specified, it defaults to 0 (zero)
- This is an index value, so it starts counting at 0 — the first number in the list is at index 0, the second at index 1, and so on
sum() Examples
Below, a list of numbers is summed:
numberList = [2, 6, 8, 3] numberSum = sum(numberList)
Only the last 3 numbers in the list can be summed by providing a start position:
numberList = [2, 6, 8, 3] numberSum = sum(numberList, 1)
Summing Floating Point Numbers with High Accuracy
If you are summing floating point values and require high accuracy in the results, use the math.fsum() function instead.
Otherwise, you are likely to run into floating point precision errors:
sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 0.9999999999999999
Above, an inaccurate result is returned by the sum() function – the answer should be 1, not 0.9999999999999999. math.fsum() will give the correct result:
import math math.fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 1.0
Trying to join/concatenate strings?
The syntax for joining strings is the same as adding values in Python – using the + operator.
The sum() function, however, should not be used to join strings. Use the join() method instead.
Concatenating Iterables
Iterables can also be joined together using the itertools.chain() function.