# No import needed
# No import required...
from functools import reduce # ... but it can be loaded from the functools module
from functools import reduce # mandatory
reduce
reduces an iterable by applying a function repeatedly on the next element of an iterable
and the cumulative result so far.
def add(s1, s2):
return s1 + s2
asequence = [1, 2, 3]
reduce(add, asequence) # equivalent to: add(add(1,2),3)
# Out: 6
In this example, we defined our own add
function. However, Python comes with a standard equivalent function in the operator
module:
import operator
reduce(operator.add, asequence)
# Out: 6
reduce
can also be passed a starting value:
reduce(add, asequence, 10)
# Out: 16