Wednesday, 5 April 2017

Python Anonymous/Lambda Function

Python Anonymous/Lambda Function:

  • In Python, anonymous function is a function that is defined without a name. 
  • While normal functions are defined using the def keyword, in Python anonymous functions are defined using the lambda keyword. Hence, anonymous functions are also called lambda functions.
Syntax 

           lambda arguments: expression


double = lambda x: x * 2

print(double(5))


10


Note:

double = lambda x: x * 2

is nearly the same as

def double(x):

         return x * 2


Use of Lambda Function:


  • We use lambda functions when we require a nameless function for a short period of time.
  •  In Python, we generally use it as an argument to a higher-order function (a function that takes in other functions as arguments).
  •  Lambda functions are used along with built-in functions like filter(), map() etc.

Example use with filter( ):

  • The filter( ) function in Python takes in a function and a list as arguments. The function is called with all the items in the list and a new list is returned which contains items for which the function evaluates to True.
  • Here is an example use of filter( ) function to filter out only even numbers from a list.

my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(filter(lambda x: (x%2 == 0) , my_list))

print(new_list)


[4, 6, 8, 12]


Example use with map( ):

  • The map( ) function in Python takes in a function and a list.
  • The function is called with all the items in the list and a new list is returned which contains items returned by that function for each item.
  • Here is an example use of map( ) function to double all the items in a list.

my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(map(lambda x: x * 2 , my_list))

print(new_list)


[2, 10, 8, 12, 16, 22, 6, 24]

No comments:

Post a Comment