The reduce function is part of functools module of Python, you need two arguments for used, one a function and two a iterable. The reduce function applies the first argument to each element of iterable cumulatively. This function is equivalent to:

```
def reduce(function, iterable, initializer=None):
it = iter(iterable)
if initializer is None:
value = next(it)
else:
value = initializer
for element in it:
value = function(value, element)
return value
```

This is the Python documentation example:

```
from functools import reduce
output = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
print(output)
[1]: 15
```

That is useful in some cases like in a math series:

```
from functools import reduce
elements = range(1, 36)
reduce(lambda x, y: x+(1/y**2), elements)
[1]: 1.616766914907197
elements = range(1, 360)
reduce(lambda x, y: x+(1/y**2), elements)
[2]: 1.642152427473518
elements = range(1, 3600)
reduce(lambda x, y: x+(1/y**2), elements)
[3]: 1.6446562504866367
```

It is not the best way to calculate π**2 / 6, but it is an example of how to use the reduce function.

## π**2 / 6

```
from math import pi
pi**2/6
[1]: 1.6449340668482264
```

;P

Can be useful for other applications but I love math so enjoy it! Anyway if you have doubts, comments, or corrections about I would like to receive feedback ♥️

Thanks for reading!

## Discussion (0)