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.

→ Download my free Python Handbook!



You might be interested in those things I do:

  • Learn to code in THE VALLEY OF CODE, your your web development manual
  • Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
  • I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
  • Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
  • Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
  • Find me on X

Related posts that talk about python: