


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
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))
Output
When executed, the above program will generate the following output -
tniopslairotut
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))
Output
When executed, the above program will generate the following output -
Int formatting: 1.000000e+03 float formatting: 5,555.49
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))
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
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())
Output
When executed, the above program will generate the following output -
5 10 15 20 25 30 35 40 45
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))
Output
When executed, the above program will generate the following output -
6
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)
Output
When executed, the above program will generate the following output -
[5, 9, 7]
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)
Output
When executed, the above program will generate the following output -
Even numbers from the input list: [10, 24, 6, 12, 8, 4]
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)
Output
When executed, the above program will generate the following output -
Converting all the input list elements to lowercase: ['hello', 'tutorialspoint', 'python', 'codes']
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



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, 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.

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

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).

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.

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.

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.

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.
