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.
Lessons in this unit:
| 0: | Introduction |
| 1: | Exceptions |
| 2: | Debugging |
| 3: | Enums |
| 4: | map() |
| 5: | filter() |
| 6: | ▶︎ reduce() |
| 7: | Regular Expressions |