The `sum()`

, `len()`

, `max()`

, and `min()`

functions are—in a way— all specializations of a more general algorithm expressed by the `reduce()`

function. The `reduce()`

function is a higher-order function that folds a function into each pair of items in an iterable.

A sequence object is given as follows:

**d = [2, 4, 4, 4, 5, 5, 7, 9]**

The function, `reduce(lambda x,y: x+y, d)`

, will fold in `+`

operators to the list as follows:

**2+4+4+4+5+5+7+9**

Including `()`

can show the effective grouping as follows:

**((((((2+4)+4)+4)+5)+5)+7)+9**

Python's standard interpretation of expressions involves a left-to-right evaluation of operators. The fold left isn't a big change in meaning.

We can also provide an initial value as follows:

**reduce(lambda ...**

Start Free Trial

No credit card required