How to use Python reduce()
THE AHA STACK MASTERCLASS
Launching May 27th
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
.
I wrote 20 books to help you become a better developer:
- Astro Handbook
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- TypeScript Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux Commands Handbook
- C Handbook
- JavaScript Handbook
- CSS Handbook
- Node.js Handbook