Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Lambda Functions in Python: Writing Concise and Anonymous Functions | Function as an Argument in Python
Intermediate Python Techniques

book
Lambda Functions in Python: Writing Concise and Anonymous Functions

In Python, lambda functions are anonymous functions defined using the lambda keyword. They are often used for short, single-operation functions without a name, and can be passed as arguments to other functions, just like regular functions.

Here's an example demonstrating how to pass a lambda function as an argument to another function:

# Define a function that takes a function and a value as arguments
def apply_function(func, value):
return func(value)

# Call the function with a lambda function as the first argument
result = apply_function(lambda x: x * x, 5)

print(result)
12345678
# Define a function that takes a function and a value as arguments def apply_function(func, value): return func(value) # Call the function with a lambda function as the first argument result = apply_function(lambda x: x * x, 5) print(result)
copy
  • apply_function is a function that accepts another function (func) and a value (value), and then applies func to value.
  • A lambda function lambda x: x * x is defined inline and passed as an argument to apply_function. This lambda function squares its input.
  • The apply_function is called with the lambda function and the value 5, resulting in the lambda function squaring 5, which yields 25.
Oppgave

Swipe to start coding

Suppose you have a list of numbers, and you want to apply different operations to the same list, like adding a constant value to each element or multiplying each element by a constant.

  1. apply_to_list is our custom function that applies a given function (func) to each element in numbers.
  2. We call apply_to_list twice with different lambda functions.
  3. The first lambda function (lambda x: x + 10) adds 10 to each element.
  4. The second lambda function (lambda x: x * 2) multiplies each element by 2.

Actually, we are creating our own version of the map function.

Løsning

def apply_to_list(numbers, func):
"""Applies the given function to each element in the numbers list."""
return [func(x) for x in numbers]

# List of numbers
numbers = [1, 2, 3, 4, 5]

# Using a lambda function to add 10 to each number
result_add = apply_to_list(numbers, lambda x: x + 10)
print("Adding 10:", result_add)

# Using a lambda function to multiply each number by 2
result_multiply = apply_to_list(numbers, lambda x: x * 2)
print("Multiplying by 2:", result_multiply)

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2
def apply_to_list(numbers, func):
"""Applies the given function to each element in the numbers list."""
___ [___(x) for x in ___]

# List of numbers
numbers = [1, 2, 3, 4, 5]

# Using a lambda function to add 10 to each number
result_add = ___(___, lambda x: x + 10)
print("Adding 10:", ___)

# Using a lambda function to multiply each number by 2
result_multiply = ___(___, lambda x: x * 2)
print("Multiplying by 2:", ___)

toggle bottom row
some-alt