How to use Python reduce()
~~~
Python provides 3 useful global functions we can use to work with collections: map(), filter() and reduce().
Tip: sometimes list comprehensions make more sense and are generally considered more pythonic
reduce() is used to calculate a value out of a sequence, like a list.
For example suppose you have a list of expenses, stored as tuples, and you want to calculate the sum of a property property in each tuple, in this case the cost of each expense:
expenses = [
('Dinner', 80),
('Car repair', 120)
]
You could iterate with a loop over them:
sum = 0
for expense in expenses:
sum += expense[1]
print(sum) # 200
Or, you can use reduce() to reduce the list to a single value:
from functools import reduce
print(reduce(lambda a, b: a[1] + b[1], expenses)) # 200
reduce()is not available by default likemap()andfilter(). You need to import it from the standard library modulefunctools.
~~~
Related posts about python: