Higher-Order functions in Python


Higher-Order functions
These are the functions that is having another function as an argument or a function that returns another function as a return in the output.
Examples of Higher-Order functions are : map(), filter(), reduce()
Before looking further into these functions, let's see something known as Lambda Function.
LAMBDA FUNCTION:
This function can have any number of arguments but only one expression, which is evaluated and returned.
The lambda function is usually used with higher-order functions.
1. map()
Map is a function that works like list comprehensions and for loops. It is used when you need to map or implement functions on various elements at the same time.
SYNTAX:
map(function, iterable object)
Let's see an example.
list_numbers = (1,2,3,4)
sample_map = map(lambda x: x*2, list_numbers)
print(list(sample_map))
The output we get is [2, 4, 6, 8]
.
2. filter()
Filter is a similar operation, but it requires the function to look for a condition and then returns only those elements that satisfy the condition, from the collection.
SYNTAX:
filter(function, iterable object)
The following code prints the names that only start with an 'A'.
name = ['Harshit','Aman','Mohith','Akash']
sample_name = filter(lambda x : x.startswith("A"), name)
print(list(sample_name))
This prints the following output ['Aman', 'Akash']
.
3. reduce()
Reduce is used to apply a particular function passed in its argument to all of the list elements mentioned in the sequence passed along.
SYNTAX:
reduce(function, iterable object)
Note: the reduce function needs to be imported from the 'functools' library.
from functools import reduce
list_1 = [7,8,4,6,3]
result = reduce(lambda x,y: x+y ,list_1)
print(result)
The result printed is 28
which is the cumulative sum of the list.
Hope this article was helpful. For further digging, take a look here.
Do share your thoughts in the comment section below. You can reach out to me on Linkedin as well. Happy learning!!
Subscribe to my newsletter
Read articles from Sanjana V directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sanjana V
Sanjana V
I'm a student pursuing Engineering in Computer Science at Vidyavardhaka College of Engineering, focusing on Data science and App development