Since Python 3,
reduce() has gone from a built-in function to a
functools module function. As you saw with
filter(), its first two arguments are respectively a function and an iterable.
It may also take an initializer as a third argument that is used as the initial value of the resulting accumulator. For each element of the iterable,
reduce() applies the function and accumulates the result that is returned when the iterable is exhausted.