Lambda expressies zijn een krachtige functie in de programmeertaal Python . Ze kunnen echter een beetje intimiderend op het eerste gezicht , vooral omdat ze geen direct equivalent in talen als Java , dat de meeste programmeertalen cursussen worden gegeven inch Deze uitdrukkingen kan de programmeur om niet nader genoemde functies te definiëren op de vlieg en deze toewijzen aan een variabele naam . U kunt een scala van functies te creëren met lambda en wijs ze allemaal aan een enkele variabele naam . Instructies 1 Definieer een functie met de lambda zoekwoord en toewijzen aan de " som " variabelenaam >>> som = lambda x , y : . X + y Test om te zien of uw lambda- functie werkt met het volgende commando : >>> som ( 2,2 ) 4 Dit toont de absolute minimum voor lambda , maar je kunt een beetje meer mee doen . kopen van 2 Definieer meer dan een lambda -functie om een enkele variabele . >>> bediening = { ' sum ' : lambda x , y : x + y , 'sub ' : lambda x , y : xy , ' mul ' : lambda x , y : x * y , ' div ' : lambda x , y : x /y } >>> operatie [ ' sum ' ] ( 2,2 ) 4 >>> operatie [ ' mul ' ] ( 2,4 ) 8 >>> operatie [ ' div ' ] ( 4,4 ) 1 >>> operatie [ 'sub ' ] ( 4,1 ) 3 Dat betekent nog niet onthullen een van de mooiste eigenschappen van lambda . Sterker nog , meer dan enige andere functie , dit is degene die de meeste opwinding over lambda functies in oudere talen, zoals LISP waarin het zijn steun genereert . 3 Gebruik lambda om , in een enkel lijn , het uitvoeren van een operatie op elk element op een lijst en retourneren een nieuwe lijst met de resultaten van de operatie . >>> alist = [ 0 , 1 , 2 , 3 , 4 ] > >> map ( lambda x : x * 6 alist ) [ 0 , 6 , 12 , 18 , 24 ] een ander voorbeeld van de lengtes van alle woorden in een tekenreeks , gebruikt de volgende lambda functie : >>> koord = " het was een zeer lange dag op kantoor , maar als ik thuis kom om je , het is allemaal de moeite waard . " >>> , map ( lambda x : len ( x ) , String.split ( ) ) [ 2 , 3 , 1 , 4 , 4 , 3 , 2 , 3 , 7 , 3 , 4 , 1 , 4 , 4 , 2 , 4 , 2 , 2 , 3 , 11 ] Hiermee kan een programmeur te doen , in een korte en makkelijk te lezen lijn , wat een Java -programmeur zou vereisen vier of vijf lijnen te bereiken . < br >
|