## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

# Reducing sets of data with reduce()

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 ...`

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required