Tutorials  Articles  Notifications  Login  Signup


RK

Rajan Kumar

Founder at HackersFriend April 20, 2020, 5:55 p.m. ⋅ 1875 views

Advanced python concepts the easy way ( Lambda , Map and Filter )


This is continuation to previous article on Using advanced Python concepts the easy way.

In this article I'll cover up:

  • Lambda
  • Map
  • and Filter

Lambda

Lambda is simply a one-liner function. It can take some arguments and can have one experssion in it to execute. This comes very handy with map and other functions, where we need to execute a one liner experssions in for every element of list.

Syntax begins with a lambda keyword and arguments then expression.

lambda arguments : expression

Here is a simple lambda to calculate square of any number.

>>> Get_Sqr = lambda x: x * x
>>> Get_Sqr(9)
81

This is equivalent to a function declared normal way, like this:

def GetSquare(x):
    return x*x

GetSquare(9)
81

 

Map

Map is used to iterate over a list / sequence and apply lambda / function to every element. You can do the same with list comprehensions also.

map(function or lambda , sequence or list)

Let's use our previous lambda to print square of every number of a list.

Map will return an iteratanle object, so we need to wrap it a with they type we need. Here we will wrap it with list. 

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

 

Filter

Filter will apply a lambda / function to all the elements of the given sequence and will return an iteratable object of all the elements for which lambda / function returned true.

filter(function or lambda, sequence or list)

Let's use filters to get all the odd numbers of a list.

arr = [1, 2, 3, 4, 5, 6]
arr = list(filter(lambda x : x%2 != 0, arr))
print (arr)
[1, 3, 5]

 

In upcoming article I'll talk about Iteration protocol and generators.

 

Header image credits:  Image by Brian Ego from Pixabay 



HackerFriend Logo

Join the community of 1 Lakh+ Developers

Create a free account and get access to tutorials, jobs, hackathons, developer events and neatly written articles.


Create a free account