Didn't understand the output of the following Python 3 code with reduce function?

Ben Bacarisse ben.usenet at bsb.me.uk
Fri Aug 28 17:17:36 EDT 2020


Shivlal Sharma <sshivlal9601 at gmail.com> writes:

> I have seen this code on one of competative programming site but I
> didn't get it, Why output is 9?
>
> from functools import *
>
> def ADDS(a,b):
>     return a+1
> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
> add = reduce(ADDS, nums)
> print(add)
>
> output: 9

Hint:

reduce(f, [e1, e2])         is f(e1, e2)
reduce(f, [e1, e2, e3])     is f(f(e1, e2), e3)
reduce(f, [e1, e2, e3, e4]) is f(f(f(e1, e2), e3), e4)

Replace f with a function that adds one to its first argument.  Does
that help?

-- 
Ben.


More information about the Python-list mailing list