Sobes.tech
Junior

Wat is een lambda-uitdrukking in Python?

sobes.tech AI

Antwoord van AI

De lambda-uitdrukking in Python is een anonieme functie die wordt gedefinieerd met het sleutelwoord lambda. Het heeft een eenvoudige syntax: lambda arguments: expression.

Belangrijkste kenmerken:

  • Anonimiteit: Heeft geen naam.
  • In één regel: Moet op één regel code staan.
  • Eén uitdrukking: Kan slechts één uitdrukking bevatten, waarvan het resultaat wordt geretourneerd.
  • Kan elk aantal argumenten accepteren: Maar slechts één uitdrukking.

Voorbeelden van gebruik:

# Eenvoudige lambda-functie om een getal te verdubbelen
double = lambda x: x * 2
# Gebruik:
# print(double(5)) # Toont 10

# Lambda-functie met meerdere argumenten
add = lambda a, b: a + b
# Gebruik:
# print(add(3, 7)) # Toont 10

# Gebruik van lambda met functies van hogere orde
# Bijvoorbeeld, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Toont [2, 4, 6]

# Gebruik van lambda met map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Toont [1, 4, 9, 16, 25, 36]

# Gebruik van lambda als argument voor de key in sorted()
data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Toont de gesorteerde lijst op leeftijd

Lambda-uitdrukkingen zijn handig voor kleine, eenmalige functies, vaak gebruikt in combinatie met functies van hogere orde (map, filter, sorted). Voor complexere taken of functies die documentatie vereisen (docstrings), wordt aanbevolen om normale functies te gebruiken die met def zijn gedefinieerd.