Python Lambda Functions with examples
Updated on Jan 17, 2024 | 7 min read | 5.7k views
Share:
For working professionals
For fresh graduates
More
Updated on Jan 17, 2024 | 7 min read | 5.7k views
Share:
Table of Contents
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 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:
Learn Data Science Courses online at upGrad
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:
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
The lambda function possesses some syntactic differences than normal functions.
>>> (lambda x: assert x == 2)(2)
File “<input>”, line 1
(lambda x: assert x == 2)(2)
^
SyntaxError: invalid syntax
>>> (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.
Now, let’s see the key differences between normal functions and lambda functions are:
Pros
Cons:
Even though normal def functions and lambda functions have key differences, internally, they are treated internally.
Lambda functions are tested exactly like regular functions. Both unittest and doctest can be used for this.
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.
# 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]
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]
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
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.
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.
Get Free Consultation
By submitting, I accept the T&C and
Privacy Policy
Start Your Career in Data Science Today
Top Resources