## functools.reduce in Python

In Python, the reduce is a function of the functools module. This function will return a single value result by solving a sequence on a two-argument function. In other words, this is useful particularly when we want to reduce the set of values to a single one.

### Syntax

The signature for the reduce function is as shown below. Here, in presence of the optional initializer, it will serve as a default in the calculation when an iterable is empty. However, if the initializer is not given and iterable contains only one item, it will return the first item.

``reduce(func,iterable, initializer)``

### Python functools.reduce Example:

Example 1: In this case, we are computing the summation of a numbers in the list using the built-in add module of an operator.

``````from functools import reduce

l = [112, 211, 135, 524, 655]

#Using reduce method and printing
print("Sum of numbers in list is ",result)
``````

Output

``````Sum of numbers in list is 1637
``````

Example 2: In this case, we are computing the multiplication of a numbers in the list.

``````from functools import reduce

# Function computing multiplication
def product(num1,num2):
res=num1*num2
print("Computing ",num1," * ",num2," = ",res)
return res

#Computing the product of numbers in the list
product = reduce(product,[1,2,3,4,5])
``````

Output

``````Computing  1  *  2  =  2
Computing  2  *  3  =  6
Computing  6  *  4  =  24
Computing  24  *  5  =  120
``````

Example 3: In this case, we are concatenating the words in the tuple to form a single string.

``````from functools import reduce

def concate(string1, string2):
return (string1+string2)

# Using tuple to get the words
t = ("Life","is","a","book")

#Using reduce to concate the words in tuple
s = reduce(concate,t)
print("String is ",s)
``````

Output

``````Lifeisabook
``````

### Conclusion

Hence, We can use the reduce method as an alternative to the iteration if we want to get the single value from an iterable.

Happy Learning 🙂