Register for our webinar

How to Nail your next Technical Interview

1 hour
Loading...
1
Enter details
2
Select webinar slot
*Invalid Name
*Invalid Name
By sharing your contact details, you agree to our privacy policy.
Step 1
Step 2
Congratulations!
You have registered for our webinar
check-mark
Oops! Something went wrong while submitting the form.
1
Enter details
2
Select webinar slot
*All webinar slots are in the Asia/Kolkata timezone
Step 1
Step 2
check-mark
Confirmed
You are scheduled with Interview Kickstart.
Redirecting...
Oops! Something went wrong while submitting the form.
close-icon
Iks white logo

You may be missing out on a 66.5% salary hike*

Nick Camilleri

Head of Career Skills Development & Coaching
*Based on past data of successful IK students
Iks white logo
Help us know you better!

How many years of coding experience do you have?

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Iks white logo

FREE course on 'Sorting Algorithms' by Omkar Deshpande (Stanford PhD, Head of Curriculum, IK)

Thank you! Please check your inbox for the course details.
Oops! Something went wrong while submitting the form.
Our June 2021 cohorts are filling up quickly. Join our free webinar to Uplevel your career
close
closeAbout usWhy usInstructorsReviewsCostFAQContactBlogRegister for Webinar

The reduce() Function in Python

Last updated by Utkarsh Sahu on Apr 01, 2024 at 01:04 PM | Reading time: 5 minutes

The fast well prepared banner

Attend our Free Webinar on How to Nail Your Next Technical Interview

WEBINAR +LIVE Q&A

How To Nail Your Next Tech Interview

The reduce() Function in Python
Hosted By
Ryan Valles
Founder, Interview Kickstart
strategy
Our tried & tested strategy for cracking interviews
prepare list
How FAANG hiring process works
hiring process
The 4 areas you must prepare for
hiring managers
How you can accelerate your learnings

Python supports object-oriented programming and has a concise, readable, and easy-to-learn syntax. It is no wonder that it is one of the most popular programming languages. An integral part of Python are its built-in functions. 

We've written a series of articles to help you learn and brush up on the most useful Python functions. In this article, we’ll learn about Python's reduce() function and how to use it.

Note that the function reduce() in Python was originally built-in, and still is, in 2.x versions. But in versions starting 3.0, it has been moved to functools due to readability and performance-related factors. We’ll learn more about reduce() and how to use it in this article. 

If you are preparing for a tech interview, check out our technical interview checklist, interview questions page, and salary negotiation e-book to get interview-ready! Also, read Python String join() Method, Python Exit commands, and Type and Isinstance In Python for more content on Python coding interview preparation.

Having trained over 10,000 software engineers, we know what it takes to crack the toughest tech interviews. Our alums consistently land offers from FAANG+ companies. The highest ever offer received by an IK alum is a whopping $1.267 Million!

At IK, you get the unique opportunity to learn from expert instructors who are hiring managers and tech leads at Google, Facebook, Apple, and other top Silicon Valley tech companies.

Want to nail your next tech interview? Sign up for our FREE Webinar.

This article will cover:

  • What Is the Reduce Function in Python, and What Does It Do?
  • Reduce Function in Python Syntax
  • Reduce Function in Python Example (Python 3.x)
  • Reduce Function in Python Example (Python 2.x)
  • FAQs on Reduce Function in Python

What Is the Reduce Function in Python, and What Does It Do?

The reduce() function in Python implements a mathematical technique called folding or reduction. This technique involves reducing a list of items to a single cumulative value. Python’s reduce() operates on any iterable. Also, for using reduce() in Python 3.x, reduce() needs to first be imported using an import statement to the current scope.  

Python’s reduce() function takes an existing function and applies the function cumulatively to every item in the given iterable, and gives a single return value. Here’s how it works: 

  • The function is called on the first two items in the iterable, which gives a partial result
  • That partial result is used with the third item in the iterable to give another partial result
  • This process continues until the iterable is exhausted and a single cumulative value is returned

Reduce Function in Python Syntax

Let us now look at the syntax for reduce().

Syntax of reduce() In Python 3.x


functools.reduce(function, iterable[, initializer])

Syntax of reduce() In Python 2.x and Earlier Versions


reduce(function, iterable[, initializer])

Reduce Function in Python Example (Python 3.x)

Here, we take a look at how you can use the Python function reduce() in Python 3.x next time you need it:

Code (Python 3.x)


# Python 3.x code to demonstrate the working of the reduce() function
 
# Importing functools to use reduce()
import functools

#Defining function which will be used with reduce to find sum
def sum(num1,num2):
    print("num1= ", num1, " num2= ", num2)
    return num1+num2

# Using reduce with the above sum function to find the sum of listExample
print("The sum of numbers from 1 to 5, i.e., in the range [1,6), is: ", functools.reduce(sum, range(1,6)))

# Creating a list
listExample = [1, 2, 3, 4, 5]

# Using reduce with lambda to find the sum of listExample
print("The sum of all the elements in the list is: ", end="")
print(functools.reduce(lambda num1, num2: num1+num2, listExample))

# Using reduce to find the product of listExample
print("The product of all the elements in the list is: ", end="")
print(functools.reduce(lambda num1, num2: num1*num2, listExample))

# Using reduce to find the maximum element from listExample
print("The maximum element of the list is: ", end="")
print(functools.reduce(lambda num1, num2: num1 if num1 > num2 else num2, listExample))

Output


num1=  1  num2=  2
num1=  3  num2=  3
num1=  6  num2=  4
num1=  10  num2=  5
The sum of numbers from 1 to 5, i.e., in the range [1,6), is:  15
The sum of all the elements in the list is: 15
The product of all the elements in the list is: 120
The maximum element of the list is: 5


Reduce Function in Python Example (Python 2.x)

For Python 2.x, we can directly use reduce() without needing to import functools as can be seen in the example below:

Code (Python 2.x)


# Python 2.x code to demonstrate the working of the reduce() function

#Defining function which will be used with reduce to find sum
def sum(num1,num2):
    print("num1= ", num1, " num2= ", num2)
    return num1+num2

# Using reduce with the above sum function to find the sum of listExample
print("The sum of numbers from 1 to 5, i.e., in the range [1,6) is: ", reduce(sum, range(1,6)))

# Creating a list
listExample = [1, 2, 3, 4, 5]

# Using reduce with lambda to find the sum of listExample
print("The sum of all the elements in the list is: ")
print(reduce(lambda num1, num2: num1+num2, listExample))

# Using reduce to find the product of listExample
print("The product of all the elements in the list is: ")
print(reduce(lambda num1, num2: num1*num2, listExample))

# Using reduce to find the maximum element from listExample
print("The maximum element of the list is : ")
print(reduce(lambda num1, num2: num1 if num1 > num2 else num2, listExample))


Output


('num1= ', 1, ' num2= ', 2)
('num1= ', 3, ' num2= ', 3)
('num1= ', 6, ' num2= ', 4)
('num1= ', 10, ' num2= ', 5)
('The sum of numbers from 1 to 5, i.e., in the range [1,6) is: ', 15)
The sum of all the elements in the list is: 
15
The product of all the elements in the list is: 
120
The maximum element of the list is : 
5

Found this article helpful? You can learn about more Python functions in our learn folder. 

FAQs on Reduce Function in Python

Q1. What is reduce() in Python?

The reduce() function in Python implements a mathematical technique called folding or reduction and works by applying a function to an iterable and reducing it to a single cumulative value.

Q2. What does reduce function return in Python?

Facilitating a functional approach in Python, reduce() takes a function and an iterable as arguments and returns the final computed cumulative value.

Q3. Where in Python is reduce() located?

Starting Python 3.x, the reduce() function is defined and located in the functools module but is a built-in function in earlier versions like Python 2.x. 

Q4. Is reduce a built-in function?

Python's reduce() function was originally a built-in function (and still is in Python 2. x), but it was moved to functools.

Q5. What arguments does the reduce() function take in Python?

The reduce() function takes two arguments in Python — function and an iterable.

Ready to Nail Your Next Coding Interview?

Whether you’re a coding engineer gunning for a software developer or software engineer role, a tech lead, or you’re targeting management positions at top companies, IK offers courses specifically designed for your needs to help you with your technical interview preparation!

If you’re looking for guidance and help with getting started, sign up for our FREE webinar. As pioneers in the field of technical interview preparation, we have trained thousands of software engineers to crack the most challenging coding interviews and land jobs at their dream companies, such as Google, Facebook, Apple, Netflix, Amazon, and more!

Sign up now!



Last updated on: 
April 1, 2024
Author

Utkarsh Sahu

Director, Category Management @ Interview Kickstart || IIM Bangalore || NITW.

Attend our Free Webinar on How to Nail Your Next Technical Interview

Register for our webinar

How to Nail your next Technical Interview

1
Enter details
2
Select webinar slot
By sharing your contact details, you agree to our privacy policy.
Step 1
Step 2
Congratulations!
You have registered for our webinar
check-mark
Oops! Something went wrong while submitting the form.
1
Enter details
2
Select webinar slot
Step 1
Step 2
check-mark
Confirmed
You are scheduled with Interview Kickstart.
Redirecting...
Oops! Something went wrong while submitting the form.

The reduce() Function in Python

Worried About Failing Tech Interviews?

Attend our webinar on
"How to nail your next tech interview" and learn

Ryan-image
Hosted By
Ryan Valles
Founder, Interview Kickstart
blue tick
Our tried & tested strategy for cracking interviews
blue tick
How FAANG hiring process works
blue tick
The 4 areas you must prepare for
blue tick
How you can accelerate your learnings
Register for Webinar
entroll-image