Laten we een leuke oefening doen om ons begrip te testen en we gaan lambda-expressies gebruiken.
Nu wil ik dat je een lambda-expressie maakt die onze lijst gaat kloppen.
Dus laten we zeggen dat we mijn lijst hebben en dat mijn lijst er vijf, vier, drie zal hebben.
Nu wil ik dat je een lambda-expressie van één regel maakt die voor ons wordt afgedrukt.
Een gekwadrateerde lijst, dus vijf tot de macht twee is vijfentwintig, vier tot de macht twee is 16
en drie tot de macht twee is negen.
Dus een lijst die die waarden bevat met behulp van lambda-expressies.
Dus dat is je eerste uitdaging om vierkant te worden.
De volgende uitdaging, en deze is een beetje moeilijk.
We gaan een lijst maken.
Laten we hier een vierkant maken, zodat je het kunt zien.
En tijdens dit luisteren heb ik een lijst in deze lijst.
Nou, het is een moeilijke.
We hebben een lijst die een paar van 02 is.
Dan een paar, laten we zeggen, voor drie.
En een tuple, laten we zeggen, negen, negen, en dan tenslotte een paar, dat is tien, min één.
Wat ik wil dat je doet, is sorteren.
Dit op basis van het tweede.
Waarde zorg ervoor dat dit een gemeenschappelijk is.
Dus dat wil zeggen, ik wil dat dit wordt gesorteerd, zodat dit paar de eerste is, want min één is het laagste.
Dan deze tuple omdat twee de op één na hoogste is.
Dan dit dubbel.
Dus hoe kun je dat doen met behulp van lambda-expressies?
Dit is een moeilijke, dus als je het niet snapt, maak je geen zorgen, pauzeer de video hier, neem de tijd,
kijk of we dit kunnen oplossen.
Anders ga ik aan de slag met de antwoorden.
Deze zou vrij gemakkelijk voor je moeten zijn, toch?
We kunnen gewoon een kaartfunctie doen, of, weet je, laten we zeggen dat een nieuwe lijst gelijk zal zijn aan een lijst die
we in kaart gaan brengen.
En hierbinnen, niets dat we nog niet eerder hebben gezien.
Ik ga LAMDA zeggen.
Nee wordt een nummer tot de macht twee.
En de lijst die ik hem ga geven.
Zal mijn lijst zijn.
Als ik dit uitvoer.
Ziezo, lekker makkelijk, lekker makkelijke oneliner.
Maar hoe zit het met deze, deze is een beetje moeilijk en je moet er echt over nadenken.
We hebben geleerd dat we de puntsorteermethode hebben, toch?
En de soort is eigenlijk goed, laten we eens kijken wat er gebeurt als ik het zo zie, als ik een puntzwaard afdruk en
ik klik op uitvoeren.
Ik krijg er geen omdat het de lijst op zijn plaats wijzigt.
Dus laten we gewoon een afdrukken nadat we het hebben gesorteerd.
Als ik klik, ren dan weg.
Goed, het.
Ik bedoel, het lijkt erop dat het geregeld is met de eerste man.
Wat als we dit verplaatsen?
En hier in het midden.
En klik op uitvoeren.
Oké, het lijkt erop dat hij het voor mij sorteert, maar het sorteert het op basis van dit eerste item.
Maar ik wil dat dit tweede item of wat we de tweede sleutel noemen, deze sorteerfactor is.
En als je hier ziet, als we sorteren, moet ik het een sleutel geven.
En we willen dat de sleutel is tot.
Dus hoe kunnen we dat doen?
We kunnen zoiets doen, we kunnen zeggen dat de sleutel gelijk wordt.
Elk van de tweede toetsen en we kunnen hier een lambda-expressie gebruiken, we kunnen een lambda zeggen, dus de
standaardparameter.
Zou lamda van X zijn en dan gewoon X een zeggen.
Hm.
Laten we dit doornemen, wat ik zeg is, hey, ik wil dat je de
sorteerfunctie uitvoert en de sleutel voor de sorteerfunctie als ik alles doorzoek, wil ik dat het over elk item herhaalt.
Dat ik ga krijgen dat X is, wordt deze tuple en ik wil dat je de waarde gebruikt die we
gaan retourneren, de tweede.
Dus de sleutel ligt altijd bij het tweede item.
Als we dit nu uitvoeren.
Kijk eens aan, we kunnen sorteren.
Bij het tweede item.
Als je dit niet hebt begrepen, maak je geen zorgen, dit is behoorlijk moeilijk en het is moeilijk voor je om aan de syntaxis te wennen
of te weten dat die soort op deze manier werkte.
Maar het doel is om u te laten zien dat dit een veelvoorkomend iets is dat u met LAMDA-functies kunt doen.
Om er zeker van te zijn dat u met verschillende sleutels kunt sorteren, zou dit bijvoorbeeld werken met een
woordenboek of een andere lijst in een lijst.
Dit is een gebruikelijke manier om je sortering aan te passen, en het is een patroon dat je gewoon moet onthouden.
Maar het laat je de kracht van LAMDA zien, waarbij we deze gecompliceerde functies niet echt hoeven
te schrijven als we echt maar een eenmalige functie nodig hebben.
En gewoon een functie die iets simpels teruggeeft, lambda is een geweldig hulpmiddel om te gebruiken, maar als je dit niet hebt gekregen, zoals
ik al zei, maak je geen zorgen, dit is een van die dingen die je gewoon moet onthouden.
Laten we een pauze nemen en ik zie je in de volgende.