Python sum | python sum list | sum() function in Python

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!

Subscribe
Notify of
guest
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
juanito
juanito
3 years ago

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!

yaswanth
yaswanth
3 years ago

list=[i+j+k,-2i+3j+6k,9i-8j+6k] can u help me understand the syntax error.. thanks for reading.