Reduce
Implement a generic function called
reduce
that accepts three arguments: a function (as the first argument), a list (as the second argument), and an initial value (as the third argument). The purpose of the
reduce
function is to iteratively apply the given function to the elements of the list, while maintaining a running total initialized with the third argument, and finally return a single resulting value.The
reduce
function should perform the following steps:- Accept all the arguments.
- Iterate over the list, applying the provided function to the running total and the current list element at each step.
- After processing all elements in the list, return the final value of the running total.
def reduce():
...
print(reduce(lambda total, item: total + item, [1, 2, 3, 4], 0)) # 10
print(reduce(lambda total, item: total + item, [1, 2, 3, 4], 4)) # 14
print(reduce(lambda total, item: total * item, [1, 2, 3, 4], 1)) # 24
print(reduce(lambda total, item: max(total, item), [1, 2, 3, 4], 0)) # 4
print(reduce(lambda total, item: min(total, item), [1, 2, 3, 4], 0)) # 0
print(reduce(lambda total, item: min(total, item), [1, 2, 3, 4], 5)) # 1
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB