Python sum() function is used to sum or add elements of the iterator from the start to the end of the iterable. It is generally used with numbers only.
In this post, we will see about the Python sum () function.
Introduction
Python 3 has many built-in functions that you can readily use in any program you’re working on. Some functions enable you to convert data types, and others are specific to a certain type, like strings.
The sum()
function returns a number, the sum of all items in an iterable.
Syntax of sum
sum(iterable, start)
Parameters
iterable: iterable can be anything from numbers to list, tuple & dictionaries.
start : [optional] This start is added to the sum of numbers in the iterable.
If start is not given in the syntax, it is assumed to be 0.
Note: Here, the iterable may be Python list, tuple, set, or dictionary.
What sum function returns in Python
The sum function returns
- Sum of the iterable from left to right
- If start is provided, it returns start + sum of iterable from left to right.
The time complexity of sum()
The time complexity of Python sum() depends on your data structure. For a flat list, dict you cannot do better than O(n) because you have to look at each item in the list to add them up.
Python program to calculate the sum of elements in a list
Sum of Python list
To add all the elements of a list, a solution is to use the built-in function sum(), illustration:
list = [2, 3, 5, 8]
sum(list)
Output
18
Python Program to Sum the list with start 10
list = [2, 3, 5, 8]
print(sum(list, 10))
Output
18
Program to Sum the list of float
fList=[1.2,2.3,3.2,4.9]
print(sum(fList))
Output
11.600000000000001
Python Program to Sum the list of float with start 10.1
fList=[1.2,2.3,3.2,4.9]
print(sum(fList,10.1))
Output
21.699999999999996
Program to calculate the sum of elements in a tuple
Example 1: Adding all items in a tuple, and returning the result
tuple = (1, 2, 3, 4, 5)
print(sum(tuple))
Output
15
Example 2: Starting with the 10, and adding all items in a tuple to this number:
tuple = (1, 2, 3, 4, 5)
print(sum(tuple, 10))
Output
25
Python Program to calculate the sum of complex numbers
In sum() function works with complex numbers too.
s = sum([1 + 2j, 3 + 4j])
print(s)
s = sum([1 + 2j, 3 + 4j], 2 + 2j)
print(s)
s = sum([1 + 2j, 2, 1.5 - 2j])
print(s)
Output
(4+6j) (6+8j) (4.5+0j)
Program to calculate the sum of sets
The sum() function works with the set too.
sett = {1, 2, 3, 4, 5}
print(sum(sett))
Output
15
Python Program to use the sum function in a dictionary
In the case of the Python dictionary, the key to the dictionary will get added. The output will be the sum of all the keys of the dictionary.
dict = {1: "one", 2: "two", 3: "three"}
print(sum(dict))
Output
6
See the values of the dictionary are String, but it does not matter here because we will add the keys and not the values.
Working of sum() function in list of “strings”:
>>> list = ['a','b','c','d']
>>> sum(list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Note: In the case of a list of strings the function sum() does not work.
Also Read:
Python Remove Duplicates From List
Python Print Without Newline
Learn Python the Hard Way Review PDF
How to Get a Data Science Internship With No Experience
Python Map
Alternative of sum
For some use cases, there are good alternatives to sum(). The preferred, fast way to concatenate a sequence of strings is by calling “ ”.join(sequence). To add floating point values with extended precision, see math.fsum(). To concatenate a series of iterables, consider using itertools.chain().
Conclusion
So in this tutorial, we have tried to cover all the details and examples of Python sum function. But still, if you have any questions and suggestions comment down below.
Happy Coding!
Python Program to Sum the list with start 101
2
list
=
[2, 3, 5, 8]
print(sum(list, 10))
output is 28 n not 18!
Yes, Sum() has second parameter that gets added to the sum of iterable.
list=[i+j+k,-2i+3j+6k,9i-8j+6k] can u help me understand the syntax error.. thanks for reading.
Can you tell me more about i,j and k? Also one more thing, never name your variable as ‘list’ because list is already defined in python.