Python Lambda Functies: Een praktische gids voor anonieme functies
Python Lambda Functies: Een praktische gids voor anonieme functies
Ontdek hoe Python's anonieme lambda-functies je code kunnen vereenvoudigen. Deze gids legt hun doel, syntaxis en real-world use cases uit met duidelijke voorbeelden.
Video: Python Lambda
Wat zijn lambda-functies in Python?
In Python is een anonieme functie gedefinieerd zonder naam. Terwijl reguliere functies het def keyword gebruiken, worden anonieme functies gedeclareerd met lambda. Daardoor heten ze vaak lambda-functies.
Hoe lambda-functies in Python te gebruiken?
Lambda-functies volgen een beknopte syntaxis:
Syntaxis van Lambda-functie in Python
lambda arguments: expression
Ze kunnen elk aantal argumenten accepteren, maar slechts één expressie. De expressie wordt geëvalueerd en het resultaat wordt geretourneerd. Omdat ze een functie-object retourneren, kunnen lambdas overal gebruikt worden waar een functie vereist is.
Voorbeeld van Lambda-functie in Python
Hieronder is een eenvoudige lambda die de invoer verdubbelt:
# Toon een basis lambda-functie
double = lambda x: x * 2
print(double(5))
Output
10
Hier creëert lambda x: x * 2 een naamloze functie. Het argument x wordt doorgegeven aan de expressie x * 2, die geëvalueerd en geretourneerd wordt. Het resulterende functie-object wordt toegewezen aan de variabele double, zodat je het kunt aanroepen als een reguliere functie. De volgende def equivalent illustreert dezelfde logica:
def double(x):
return x * 2
Wanneer Lambda-functies in Python gebruiken
Lambda-functies schitteren wanneer je een snelle, wegwerp-functie nodig hebt, vooral als argument voor higher-order functies. Ze worden vaak gepaard met ingebouwde functies zoals filter() en map() om beknopte transformaties uit te voeren.
Voorbeeld met filter()
De filter() functie past een predicate toe op elk item in een iterable, en retourneert alleen diegene die aan de voorwaarde voldoen. Het volgende voorbeeld houdt alleen even getallen uit een lijst:
# Filter even getallen uit een lijst
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x % 2 == 0), my_list))
print(new_list)
Output
[4, 6, 8, 12]
Voorbeeld met map()
De map() functie past een transformatie toe op elk element, producerend een nieuwe iterable. Hier verdubbelen we elk element in een lijst:
# Verdubbel elk item met map()
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2, my_list))
print(new_list)
Output
[2, 10, 8, 12, 16, 22, 6, 24]
Python
- Python Datatypes onder de knie krijgen: Een praktische gids
- Python Operators onder de knie krijgen: Een uitgebreide gids
- Python Pass Statement onder de knie krijgen: Een praktische gids
- Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
- Python lambda-functies beheersen: praktische voorbeelden & best practices
- Python abs()-functie: absolute waarden berekenen voor getallen & complexe getallen
- Python round()-functie uitgelegd met praktische voorbeelden
- Python's range()-functie onder de knie: van basis tot geavanceerde use cases
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Python's yield meesteren: Generator vs Return – Een praktische gids
- Python's enumerate() meesteren: lussen met indices voor lijsten, tuples, strings en dictionaries