Skip to content

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 like map() and filter(). You need to import it from the standard library module functools.


→ Here's my latest YouTube video

→ Get my Python Handbook
→ Get my Python Handbook

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list