Python Lambda Functions: What They Are and How to Use Them

Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

What Are Lambda Functions in Python

Lambda functions offer a compact and elegant way to define functions directly within expressions. In Python, they're also known as lambda functions or anonymous functions. They get this name because they're created without a name and are typically used locally, right where you need them, without the overhead of defining a full function with the def keyword.

Lambda functions are simple and convenient to use. They're often paired with higher-order functions like map(), filter(), and sorted(). You'll also find them widely used in popular libraries such as pandas, NumPy, Flask, Tkinter, and many other tools in the Python ecosystem.

Lambda Function Syntax Basics

Structure of a Lambda Expression

The syntax for a lambda function in Python looks like this:

lambda arguments: expression

Where:

  • arguments — a list of function arguments, just like a regular function
  • expression — a single expression whose result is returned as the function's output

Key Characteristics of Lambda Functions

Python lambda functions have several important features:

  • They always return the result of the expression automatically
  • They don't use the return keyword
  • The computed expression value is the return value
  • They only support a single expression in the function body

Practical Lambda Expression Examples

Simple Math Operations

# Calculate the square of a number
square = lambda x: x ** 2
print(square(5))  # 25

# Add two numbers
add = lambda a, b: a + b
print(add(3, 7))  # 10

# Check if a number is even
is_even = lambda x: x % 2 == 0
print(is_even(4))  # True

Lambda with Conditional Expressions

# Find the maximum value
max_value = lambda x, y: x if x > y else y
print(max_value(10, 15))  # 15

# Categorize numbers
categorize = lambda x: "positive" if x > 0 else "negative" if x < 0 else "zero"

Lambda vs. Regular Functions

Key Differences

Feature Regular Function (def) Lambda Function
Syntax def func(x): return x * 2 lambda x: x * 2
Number of Expressions Multiple Only one
Naming Has a name Typically anonymous
Use Case Reusable code One-off operations
Documentation Supports docstrings Not supported
Type Annotations Supported Limited support

When to Choose Lambda

Lambda functions are most effective in these scenarios:

  • Simple, one-line operations
  • Used as arguments to other functions
  • Temporary calculations that don't need to be called again
  • Working with higher-order functions

Using Lambda with Higher-Order Functions

The map() Function

The map() function applies a given function to every item in an iterable:

numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x**2, numbers))
print(squares)  # [1, 4, 9, 16, 25]

# Convert strings to uppercase
words = ["hello", "world", "python"]
uppercase = list(map(lambda s: s.upper(), words))
print(uppercase)  # ['HELLO', 'WORLD', 'PYTHON']

The filter() Function

Filter() creates an iterator from elements that

Blogs

Book Recommendations