#The reduce() function accepts a function and a sequence and
#returns a single value calculated as follows:
#1) Initially, the function is called with the first two items from the sequence
#and the result is returned.
#2) The function is then called again with the result obtained in step 1
#and the next value in the sequence. This process keeps repeating
#until there are items in the sequence.
>>>
>>> from functools import reduce
>>>
>>> def do_sum(x1, x2): return x1 + x2
...
>>>
>>> reduce(do_sum, [1, 2, 3, 4])
10
>>>