HomeSearch

Python Sum Example

Use the sum method on a list of integers. Understand when TypeError is caused by sum.

Sum. A list contains the numbers 10, 20 and 5. Its sum is 35. We can a for-loop to iterate and add up the element values. Or we can use a simpler built-in method.

Two arguments. The sum() built-in receives two arguments. The first is an iterable collection like list—these elements are summed. The second argument is added to the sum.

An example. Here we introduce a list with three integers in it. We sum those integers with the sum() built-in method. And then we use sum with 2 arguments.Built-ins

Argument 1: An iterable like a list we want to sum. The list must have summable elements like integers, not sub lists.

Argument 2: A value that is added to the sum of the iterable's elements. We can use this argument to sum previous sums.

Python program that uses sum, two arguments values = [10, 20, 5] # The sum of the 3 values is this number. result = sum(values) print(result) # Use sum with two arguments. # ... The second argument is added to the element sum. result = sum(values, 1000) print(result) Output 35 1035

Error in summing. We cannot sum nested iterables. Instead sum() only counts up top-level elements in our list. A nested list leads to a TypeError.List
Python program that uses sum, nested list error # This list has a nested list element. # ... It cannot be summed with sum. values = [10, [20, 30]] # This will cause a TypeError. result = sum(values) print(result) Output Traceback (most recent call last): File "C:\programs\file.py", line 9, in <module> result = sum(values) TypeError: unsupported operand type(s) for +: 'int' and 'list'

Fsum example. The sum() built-in will work with float numbers like 1.5. But it may return a less-accurate result than the math.fsum specialty method.Math: fsum

A review. Why use sum? Why not just loop over elements and add them up? In some programs, sum() leads to simpler, more maintainable code—but not always.
Home
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.