Sum ExampleUse the sum method on a list of integers. Understand when TypeError is caused by sum.
Python
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 2 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 3 integers in it. We sum those integers with the sum() built-in method. And then we use sum with 2 arguments.
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. values = [1, 1, 2] # The sum of the 3 values is this number. result = sum(values) print(result) # Use sum with 2 arguments. # ... The second argument is added to the element sum. result = sum(values, 1000) print(result)
4 1004
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.
String List
# 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)
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
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, and this causes fewer bugs.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.