Table of Contents
What is the lambda function in Python?
grammar
Why do we need Lambda functions?
Simple example of Python Lambda function
Example
Output
Using Lambda functions in condition checks
What is the difference between a Lambda function and a def defined function?
Practical uses of Python lambda function
Python lambda function with filter()
Python lambda function with map()
in conclusion
Home Backend Development Python Tutorial What is the lambda function in Python and why do we need it?

What is the lambda function in Python and why do we need it?

Aug 25, 2023 pm 02:41 PM
python lambda function need

What is the lambda function in Python and why do we need it?

In this article, we will learn about the lambda function in Python and why we need it, and see some practical examples of lambda functions.

What is the lambda function in Python?

Lambda functions are often called "anonymous functions" and are the same as ordinary Python functions except that they can be defined without a name. >def keyword is used to define ordinary functions, while lambda keyword is used to define anonymous functions. However, they are limited to single-line expressions. They, like regular functions, can accept multiple arguments.

grammar

lambda arguments: expression
Copy after login
  • This function accepts any number of inputs, but only evaluates and returns an expression.

  • Lambda functions can be used wherever a function object is required.

  • You must remember that lambda functions are syntactically limited to a single expression.

  • In addition to other types of expressions in functions, it has a variety of uses in specific programming areas.

Why do we need Lambda functions?

  • A lambda function requires fewer lines of code than a normal Python function written using the def keyword. However, this is not entirely true, as functions defined using def can be defined in one line. However, def functions are usually defined on more than one line.

  • They are typically used when a shorter (temporary) function is required, usually within another function (such as a filter, map, or reduce).

  • You can define a function and call it immediately at the end of the definition using a lambda function. This is not possible with def functions.

Simple example of Python Lambda function

Example

# input string 
inputString = 'TUTORIALSpoint'
 
# converting the given input string to lowercase and reversing it
# with the lambda function
reverse_lower = lambda inputString: inputString.lower()[::-1]

print(reverse_lower(inputString))
Copy after login

Output

When executed, the above program will generate the following output -

tniopslairotut
Copy after login

Using Lambda functions in condition checks

Example

# Formatting number to 2 decimal places using lambda function
formatNum = lambda n: f"{n:e}" if isinstance(n, int) else f"{n:,.2f}"
 
print("Int formatting:", formatNum(1000))
print("float formatting:", formatNum(5555.4895412))
Copy after login

Output

When executed, the above program will generate the following output -

Int formatting: 1.000000e+03
float formatting: 5,555.49
Copy after login

What is the difference between a Lambda function and a def defined function?

Example

# creating a function that returns the square root of 
# the number passed to it
def square(x):
	return x*x


# using lambda function that returns the square root of 
# the number passed 
lambda_square = lambda x: x*x


# printing the square root of the number by passing the
# random number to the above-defined square function with the def keyword
print("Square of the number using the function with 'def' keyword:", square(4))

# printing the square root of the number by passing the
# random number to the above lambda_square function with lambda keyword
print("Square of the number using the function with 'lambda' keyword:", lambda_square(4))
Copy after login

Output

When executed, the above program will generate the following output -

Square of the number using the function with 'def' keyword: 16
Square of the number using the function with 'lambda' keyword: 16
Copy after login

As shown in the previous example, the square() and lambda_square () functions work the same way and as expected. Let's take a closer look at this example and find out the difference between them -

Use lambda function Do not use lambda function
Supports single-line statements that return a certain value. Allows any number of lines within a function block.
Ideal for small operations or data manipulation. This is useful in situations where multiple lines of code are required.
Reduce code readability We can improve readability by using comments and functional explanations.

Practical uses of Python lambda function

Example

Using Lambda functions with list comprehensions

is_odd_list = [lambda arg=y: arg * 5 for y in range(1, 10)]
 
# looping on each lambda function and calling the function
# for getting the multiplied value
for i in is_odd_list:
	print(i())
Copy after login

Output

When executed, the above program will generate the following output -

5
10
15
20
25
30
35
40
45
Copy after login

On each iteration of the list comprehension, a new lambda function is created with the default parameter y (where y is the current item in the iteration). Later, in the for loop, we use i() to call the same function object with default parameters and get the required value. Therefore, is_odd_list holds a list of lambda function objects.

Example

Using Lambda functions with if-else conditional statements

# using lambda function to find the maximum number among both the numbers
find_maximum = lambda x, y : x if(x > y) else y
 
print(find_maximum(6, 3))
Copy after login

Output

When executed, the above program will generate the following output -

6
Copy after login

Example

Using Lambda functions with multiple statements

inputList = [[5,2,8],[2, 9, 12],[10, 4, 2, 7]]

# sorting the given each sublist using lambda function
sorted_list = lambda k: (sorted(e) for e in k)

# getting the second-largest element 
second_largest = lambda k, p : [x[len(x)-2] for x in p(k)]
output = second_largest(inputList, sorted_list)

# printing the second largest element
print(output)
Copy after login

Output

When executed, the above program will generate the following output -

[5, 9, 7]
Copy after login

Python lambda function with filter()

Example

inputList = [3, 5, 10, 7, 24, 6, 1, 12, 8, 4]

# getting the even numbers from the input list 
# using lambda and filter functions
evenList = list(filter(lambda n: (n % 2 == 0), inputList))
# priting the even numbers from the input list
print("Even numbers from the input list:", evenList)
Copy after login

Output

When executed, the above program will generate the following output -

Even numbers from the input list: [10, 24, 6, 12, 8, 4]
Copy after login

Python lambda function with map()

Python’s map() function accepts a function and a list as parameters. Called with a lambda function and a list, it returns a new list containing all the lambda-changed items that the function returns for each item.

Example

Use lambda and map() functions to convert all list elements to lowercase

# input list
inputList = ['HELLO', 'TUTORIALSpoint', 'PyTHoN', 'codeS']

# converting all the input list elements to lowercase using lower()
# with the lambda() and map() functions and returning the result list
lowercaseList = list(map(lambda animal: animal.lower(), inputList))

# printing the resultant list
print("Converting all the input list elements to lowercase:\n", lowercaseList)
Copy after login

Output

When executed, the above program will generate the following output -

Converting all the input list elements to lowercase:
 ['hello', 'tutorialspoint', 'python', 'codes']
Copy after login

in conclusion

In this tutorial, we took an in-depth look at the lambda function in Python with lots of examples. We also learned the difference between lambda functions and def functions.

The above is the detailed content of What is the lambda function in Python and why do we need it?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Do mysql need to pay Do mysql need to pay Apr 08, 2025 pm 05:36 PM

MySQL has a free community version and a paid enterprise version. The community version can be used and modified for free, but the support is limited and is suitable for applications with low stability requirements and strong technical capabilities. The Enterprise Edition provides comprehensive commercial support for applications that require a stable, reliable, high-performance database and willing to pay for support. Factors considered when choosing a version include application criticality, budgeting, and technical skills. There is no perfect option, only the most suitable option, and you need to choose carefully according to the specific situation.

HadiDB: A lightweight, horizontally scalable database in Python HadiDB: A lightweight, horizontally scalable database in Python Apr 08, 2025 pm 06:12 PM

HadiDB: A lightweight, high-level scalable Python database HadiDB (hadidb) is a lightweight database written in Python, with a high level of scalability. Install HadiDB using pip installation: pipinstallhadidb User Management Create user: createuser() method to create a new user. The authentication() method authenticates the user's identity. fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

Can mysql workbench connect to mariadb Can mysql workbench connect to mariadb Apr 08, 2025 pm 02:33 PM

MySQL Workbench can connect to MariaDB, provided that the configuration is correct. First select "MariaDB" as the connector type. In the connection configuration, set HOST, PORT, USER, PASSWORD, and DATABASE correctly. When testing the connection, check that the MariaDB service is started, whether the username and password are correct, whether the port number is correct, whether the firewall allows connections, and whether the database exists. In advanced usage, use connection pooling technology to optimize performance. Common errors include insufficient permissions, network connection problems, etc. When debugging errors, carefully analyze error information and use debugging tools. Optimizing network configuration can improve performance

Navicat's method to view MongoDB database password Navicat's method to view MongoDB database password Apr 08, 2025 pm 09:39 PM

It is impossible to view MongoDB password directly through Navicat because it is stored as hash values. How to retrieve lost passwords: 1. Reset passwords; 2. Check configuration files (may contain hash values); 3. Check codes (may hardcode passwords).

How to solve mysql cannot connect to local host How to solve mysql cannot connect to local host Apr 08, 2025 pm 02:24 PM

The MySQL connection may be due to the following reasons: MySQL service is not started, the firewall intercepts the connection, the port number is incorrect, the user name or password is incorrect, the listening address in my.cnf is improperly configured, etc. The troubleshooting steps include: 1. Check whether the MySQL service is running; 2. Adjust the firewall settings to allow MySQL to listen to port 3306; 3. Confirm that the port number is consistent with the actual port number; 4. Check whether the user name and password are correct; 5. Make sure the bind-address settings in my.cnf are correct.

Does mysql need the internet Does mysql need the internet Apr 08, 2025 pm 02:18 PM

MySQL can run without network connections for basic data storage and management. However, network connection is required for interaction with other systems, remote access, or using advanced features such as replication and clustering. Additionally, security measures (such as firewalls), performance optimization (choose the right network connection), and data backup are critical to connecting to the Internet.

How to optimize MySQL performance for high-load applications? How to optimize MySQL performance for high-load applications? Apr 08, 2025 pm 06:03 PM

MySQL database performance optimization guide In resource-intensive applications, MySQL database plays a crucial role and is responsible for managing massive transactions. However, as the scale of application expands, database performance bottlenecks often become a constraint. This article will explore a series of effective MySQL performance optimization strategies to ensure that your application remains efficient and responsive under high loads. We will combine actual cases to explain in-depth key technologies such as indexing, query optimization, database design and caching. 1. Database architecture design and optimized database architecture is the cornerstone of MySQL performance optimization. Here are some core principles: Selecting the right data type and selecting the smallest data type that meets the needs can not only save storage space, but also improve data processing speed.

How to use AWS Glue crawler with Amazon Athena How to use AWS Glue crawler with Amazon Athena Apr 09, 2025 pm 03:09 PM

As a data professional, you need to process large amounts of data from various sources. This can pose challenges to data management and analysis. Fortunately, two AWS services can help: AWS Glue and Amazon Athena.

See all articles