Logo
Unit 1 – Functional Programming Concepts

Functional Programming Concepts

Duration: 5 minutes

Introduction

Let’s go deeper into the Python sea and discover the beauties of functional programming. Today, we’ll look at three useful built-in functions: map(), filter(), and reduce(). These are crucial to the functional programming paradigm because they allow you to build cleaner, more efficient code.

The Three Key Functions

map() Function

map() applies a function to all items in an input list. Here’s an example:

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # Outputs: [1, 4, 9, 16, 25]

In this example, we’ve used map() to square every number in the list.

filter() Function

filter() creates a list of elements for which a function returns true. Here’s how you use it:

numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x%2 == 0, numbers))
print(even_numbers)  # Outputs: [2, 4]

We used filter() to get all the even numbers from the list.

reduce() Function

reduce() applies a rolling computation to sequential pairs of values in a list and returns a single result. Note: You need to import it from the functools module. Here’s an example:

from functools import reduce
numbers = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x*y, numbers)
print(product)  # Outputs: 120

We used reduce() to calculate the product of all numbers in the list.

Exercise

Your turn! Write a Python program that uses map(), filter(), and reduce() functions to perform the following tasks:

  • Takes a list of numbers from 1 to 10
  • Uses map() to square the numbers in the list
  • Uses filter() to extract numbers greater than 10
  • Uses reduce() to find the product of the remaining numbers

Conclusion

Congratulations on learning about Python’s functional programming features! Understanding map(), filter(), and reduce() can substantially improve your Python game. Continue to hone these skills as you progress through your Python journey. Pythonistas, have fun coding!

Next Tutorial: Lambda Functions

5 minutes Minutes

Continue

Code on the Go with our Mobile App!

Unleash your coding potential anytime, anywhere!

Download Now!