Blog_Banner_Asset
    Homebreadcumb forward arrow iconBlogbreadcumb forward arrow iconData Science USbreadcumb forward arrow iconPython Lambda Functions with examples

Python Lambda Functions with examples

Last updated:
3rd Jun, 2022
Views
Read Time
7 Mins
share image icon
In this article
Chevron in toc
View All
Python Lambda Functions with examples

Python — An Introduction

Python is a general-purpose programming language that is extremely popular. It is an interpreted high-level language that emphasizes code readability with the use of significant indentation. Python is used by programmers to write clean, logical codes for projects of any scale.

Python was conceived in the 1980s as a successor to the ABC programming language by Guido Van Rossum. Since then, Python has remained a popular programming language due to its versatility.

Functions — An introduction

Functions are code blocks that work when called can be called n times in a program. They are structured code statements and perform a specific function, and can be used at any time. Functions are fundamentally classified as:

  • User-Defined Function (USF) — Customizable functions that can be changed as per the requirements of the programmer.
  • Built-in Functions (BIF) — Functions that cannot be customized and have to be used the way it is available.

Learn Data Science Courses online at upGrad

Ads of upGrad blog

Python Lambda Functions

Python Lambda functions are essentially anonymous because they do not possess a definite name. A def function is used to denote a normal function in Python. Meanwhile, the keyword Lambda is used to define an anonymous Python function.

The Lambda function is a small function that can take several arguments but only one expression. They also have a more restrictive but concise syntax than regular Python functions. The lambda function was added to the Python Language in 1994 along with map(), filter(), and reduce() functions.

To define an anonymous function, one has to use the lambda keyword like def is used for normal functions. There are three parts to an anonymous function defined in Python:

  • The keyword lambda
  • Parameters or a bound variable
  • Function body

Syntax

The syntax to a lambda function is as follows:

Lambda p1, p2: expression

The p1 and p2 are the parameters here. There is no restriction for adding parameters in the lambda function. You can add as many or as few as you want. But the lambda function is syntactically restricted to one expression.

Examples for lambda function in Python:

Example 1 

x =”Lambda Function”

 # lambda gets pass to print

(lambda x : print(x))(x)

Output

Lambda Function

Example 2

x = lambda a : a + 10

print(x(5))

Output

15

Our learners also read: Learn Python Online for Free

Differences between normal function and lambda function

The lambda function possesses some syntactic differences than normal functions. 

  • Only expressions and not statements are used in the body. If any statements like pass, assert, return or raise are used, the output will show a SyntaxError.

Example

>>> (lambda x: assert x == 2)(2)

  File “<input>”, line 1

    (lambda x: assert x == 2)(2)

                    ^

SyntaxError: invalid syntax

  • A lambda function can only exist as a single expression. Even if the expression is spread throughout the body using multiple strings, it can only remain as a single expression.

Example:

>>> (lambda x:

… (x % 2 and ‘odd’ or ‘even’))(3)

‘odd’

When the lambda argument is odd, the code returns the string odd and even when it is not.  The code spans across two lines as it is inside the parentheses but remains as a single expression.

  • The lambda function does not support type annotations. Adding annotations to a lambda syntax will cause a Syntaxerror.
  • IIFE or Immediately Invoked Function Expression is a function executed as soon as it is defined. It is also known as Self Executing Anonymous Function. IIFE is a direct consequence of the lambda function, as a lambda function is callable as it is defined.

Now, let’s see the key differences between normal functions and lambda functions are:

(Source)

Lambda Functions – Pros and Cons

Pros

  • It makes the code more readable.
  • Ideal for functions that are used one time.
  • Easy to understand and can be used for simple logical explanations.

Cons:

  • Multiple independent expressions cannot be performed.
  • Using the lambda function is not ideal if a code would span for more than a line in a normal (def) function.
  • All the inputs, outputs, and operations cant be explained in a docstring like in a normal function.

Where to use Lambdas?

Even though normal def functions and lambda functions have key differences, internally, they are treated internally. 

  • The common use of lambda functions in Python is for functional programming. You can use lambda in functional programming to supply a function as a parameter to a different function.
  • If you need to reduce the number of lines to specify a function, lambdas are the way to go.
  • Lambda is also used with higher-order functions like map(), reduce() etc.
  • Response to UI framework events can be tracked using lambda functions.

Where to abstain from using lambda functions?

  • Writing complicated lambda functions is not a good practice as it will be difficult to decrypt. 
  • Refrain from using lambda functions for recurring operations.
  • If the code doesn’t follow the Python Style Guide(PEP8).

Lambda functions are tested exactly like regular functions. Both unittest and doctest can be used for this.

Read our Popular US - Data Science Articles

Lambda Function with filter()

Filter() is a built-in Python function and list as arguments. Filter () is used when all the iterable items are on a list, and another list is returned which contains items for which the function is true.

Example:

# Python code to illustrate

# filter() with lambda()

li = [5, 7, 22, 97, 54, 62, 77, 23, 73, 61]

 final_list = list(filter(lambda x: (x%2 != 0) , li))

print(final_list)

Output:

[5, 7, 97, 77, 23, 73, 61]

(source)

Example:

# Program to filter out only the even items 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)

Output

[4, 6, 8, 12]

Lambda Function with map()

The map function is used when all the items are in the list, and the list is returned with items returned by that function for each item.

Example: To double the value of each item in the list, the code is as follows:

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

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

print(new_list)

Output:

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

Example: To cube every number in the list, the code is as follows

list_1 = [1,2,3,4,5,6,7,8,9]

cubed = map(lambda x: pow(x,3), list_1)

list(cubed)

Output:

[1, 8, 27, 64, 125, 216, 343, 512, 729]

Lambda Function with reduce() Function

The reduce() function in Python is a list and an argument. It is called to return an iterable and new reduced list. It is somewhat similar to the addition function.

Example 1

Note: this example is from the functools library.

To get the sum of a list, the code would be,

# Python code to illustrate

# reduce() with lambda()

# to get sum of a list

from functools import reduce

li = [5, 8, 10, 20, 50, 100]

sum = reduce((lambda x, y: x + y), li)

print (sum)

Output:

193

Conclusion

Usage of lambda functions in Python has been a controversial topic among programmers for a long time. While it is true that lambdas can be replaced with built-in functions, list comprehensions, and standard libraries, an understanding of lambda functions are also necessary. It helps you understand the fundamental principles of programming and write better codes. 

Even if you do not use lambda functions personally, there might be instances where you might come across these in other people’s programs. So, it’s recommended that you have basic knowledge of lambda functions anyway. 

Ads of upGrad blog

Also, Check out all trending Python tutorial concepts in 2024.

If you are looking to learn full-fledged Python and enhance your career in data science and business analytics, upGrad’s online Professional Certificate Program in Data Science and Business Analytics from the Top US University – University of Maryland is your best bet. 

The program offers a chance to study at one of the top 100 global universities and earn a certificate from Maryland Smith to increase your chances of success in the field. It is a 9-months course with access to 300+ hiring partners, assured interview opportunities for freshers, and six mentorship calls.

.

Profile

Pavan Vadapalli

Blog Author
Director of Engineering @ upGrad. Motivated to leverage technology to solve problems. Seasoned leader for startups and fast moving orgs. Working on solving problems of scale and long term technology strategy.
Get Free Consultation

Select Coursecaret down icon
Selectcaret down icon
By clicking 'Submit' you Agree to  
UpGrad's Terms & Conditions

Our Best Data Science Courses

Frequently Asked Questions (FAQs)

1What are decorators in Python?

A function in Python that takes the argument of one function and returns another function is called a decorator. It is denoted with decorator syntax. Decorators can be applied in lambda functions but not with the decorator syntax. It is usually implemented for debugging purposes. Alternatively, a lambda function can be used as a decorator, but it is not advisable.

2What are arguments in Python Lambda functions?

Lambda functions like normal def functions support the different ways of passing arguments. These include: Keyword only argument Keyword arguments/ NAmed arguments Varargs/ Variable list of arguments Variable list of keyword arguments.

3What are closures in Python Lambda functions?

Closures or lexical closures are functions where every free variable except the parameters are bound to a particular value in the enclosing scope of the function. Closures can be called from anywhere. Lambda functions like normal def functions can be closures.

Explore Free Courses

Suggested Blogs

Top 10 Real-Time SQL Project Ideas: For Beginners &#038; Advanced
14864
Thanks to the big data revolution, the modern business world collects and analyzes millions of bytes of data every day. However, regardless of the bus
Read More

by Pavan Vadapalli

28 Aug 2023

Python Free Online Course with Certification [US 2024]
5519
Data Science is now considered to be the future of technology. With its rapid emergence and innovation, the career prospects of this course are increa
Read More

by Pavan Vadapalli

14 Apr 2023

13 Exciting Data Science Project Ideas &#038; Topics for Beginners in US [2024]
5474
Data Science projects are great for practicing and inheriting new data analysis skills to stay ahead of the competition and gain valuable experience.
Read More

by Rohit Sharma

07 Apr 2023

4 Types of Data: Nominal, Ordinal, Discrete, Continuous
6068
Data refers to the collection of information that is gathered and translated for specific purposes. With over 2.5 quintillion data being produced ever
Read More

by Rohit Sharma

06 Apr 2023

Best Python Free Online Course with Certification You Should Check Out [2024]
5628
Data Science is now considered to be the future of technology. With its rapid emergence and innovation, the career prospects of this course are increa
Read More

by Rohit Sharma

05 Apr 2023

5 Types of Binary Tree in Data Structure Explained
5385
A binary tree is a non-linear tree data structure that contains each node with a maximum of 2 children. The binary name suggests the number 2, so any
Read More

by Rohit Sharma

03 Apr 2023

42 Exciting Python Project Ideas &#038; Topics for Beginners [2024]
5857
Python is an interpreted, high-level, object-oriented programming language and is prominently ranked as one of the top 5 most famous programming langu
Read More

by Rohit Sharma

02 Apr 2023

5 Reasons Why Python Continues To Be The Top Programming Language
5339
Introduction Python is an all-purpose high-end scripting language for programmers, which is easy to understand and replicate. It has a massive base o
Read More

by Rohit Sharma

01 Apr 2023

Why Should One Start Python Coding in Today’s World?
5220
Python is the world’s most popular programming language, used by both professional engineer developers and non-designers. It is a highly demanded lang
Read More

by Rohit Sharma

16 Feb 2023

Schedule 1:1 free counsellingTalk to Career Expert
icon
footer sticky close icon