Anladığımızı test etmek için eğlenceli bir alıştırma yapalım ve lambda ifadelerini kullanalım.
Şimdi sizden listemizin karesini alacak bir lambda ifadesi oluşturmanızı istiyorum.
Diyelim ki elimizde benim listem var ve bu da benim listem.
Beş, dört, üç olacak.
Şimdi bizim için yazdıracak tek satırlık bir lambda ifadesi oluşturmanızı istiyorum.
Kareli bir liste.
Yani ikiye beş eklersek 25 eder.
İkinin kuvveti dört 16 ve ikinin kuvveti üç dokuz olacaktır.
Yani lambda ifadelerini kullanarak bu değerleri içeren bir liste.
Yani bu sizin ilk meydan okumanız.
Bir sonraki meydan okuma.
Ve bu biraz zor.
Biraz liste sıralaması yapacağız.
Görmeniz için burada kare yapalım.
Ve bu listede, sıralama.
Bir listem var.
Ve bu liste.
Zor bir soru.
Elimizde sıfırdan sıfıra kadar olan bir liste var.
Sonra bir ikili, diyelim ki üç için.
Ve bir ikili, diyelim ki dokuz, dokuz ve son olarak on eksi bir olan bir ikili.
Şimdi, sizden yapmanızı istediğim şey sıralama.
Bu ikincisine dayanıyor.
Değer.
Bunun virgül olduğundan emin olun.
Yani bunun, eksi bir en düşük olduğu için önce bu ikili, sonra iki sonraki en yüksek olduğu için bu ikili
olacak şekilde sıralanmasını istiyorum.
O zaman bu çift.
Peki bunu lambda ifadelerini kullanarak nasıl yapabilirsiniz?
Şimdi, bu zor bir soru.
Yani anlamadıysanız, endişelenmeyin.
Videoyu burada duraklatın.
Acele etme.
Bakalım bunu çözebilecek misin?
Aksi takdirde, cevaplarla devam edeceğim.
Bu sizin için oldukça kolay olmalı, değil mi?
Basitçe bir harita işlevi yapabiliriz ya da ne yapalım biliyor musunuz?
Diyelim ki yeni liste, üzerinde eşleme yapacağımız bir listeye eşit olacak.
Ve burada, daha önce görmediğimiz bir şey yok.
Lambda diyeceğim.
Sayı, ikinin kuvveti kadar sayı olacak.
Ve vereceğim liste.
Listemde olacak.
Eğer bunu çalıştırırsam.
Al bakalım.
Güzel ve kolay.
Güzelmiş.
Sakin ol.
Bir astar.
Peki ya bu?
Bu biraz zor ve gerçekten düşünmeniz gerekiyor.
Nokta sıralama yöntemine sahip olduğumuzu öğrendik, değil mi?
Ve aslında bir çeşit.
Bakalım bu şekilde sıralarsam ne olacak.
Bir nokta sıralaması yazdırırsam ve çalıştır'a tıklarsam.
Listeyi yerinde değiştirdiği için hiçbir şey alamıyorum.
Bu yüzden sıraladıktan sonra bir çıktı alalım.
Çalıştır'a tıklarsam.
Tamam.
Bu.
Yani, ilk adamla halledilmiş gibi görünüyor.
Ya bunu taşırsak?
Ve burada ortada.
Ve Çalıştır'a tıklayın.
Tamam.
Benim için sıralıyor gibi görünüyor, ancak bu ilk öğeye göre sıralıyor.
Ancak bu ikinci öğenin ya da ikinci anahtar dediğimiz şeyin sıralama faktörü olmasını istiyorum.
Ve eğer burada görürseniz, eğer sıralama yaparsak, ona bir anahtar vermek zorundayım.
Ve anahtarın şöyle olmasını istiyoruz.
Kime?
Peki bunu nasıl yapabiliriz?
Şöyle bir şey yapabiliriz.
Anahtarın eşit olacağını söyleyebiliriz.
İkinci anahtarların her biri ve burada bir lambda ifadesi kullanabiliriz.
Lambda diyebiliriz.
Yani varsayılan parametre.
x'in lambda'sı olur ve sonra sadece x bir der.
Hmm.
Şunun üzerinden geçelim.
Demek istediğim, sıralama işlevini çalıştırmanızı istiyorum.
Ve her şeyi sıralarken kılıç işlevinin anahtarı, her öğe üzerinde yineleme yapmasını
istememdir.
Elde edeceğim X bu ikili olacak.
Ve geri döndüreceğimiz değeri, yani ikincisini kullanmanızı istiyorum.
Yani anahtar her zaman ikinci öğenin yanında olacaktır.
Şimdi bunu çalıştırırsak.
Şuna bak.
Sıralama yapabiliyoruz.
İkinci maddeye göre.
Eğer bunu anlamadıysa, endişelenmeyin.
Bu oldukça zordur ve sözdizimine alışmanız veya sıralamanın bu şekilde çalıştığını bilmeniz zordur.
Ancak amaç, bunun lambda fonksiyonları ile yapabileceğiniz yaygın bir şey olduğunu göstermektir.
Ve farklı anahtarlarla sıralama yapabileceğinizden emin olmanın bir yolu.
Örneğin, bu bir sözlükle veya bir listenin içindeki başka bir listeyle çalışabilir.
Bu, sıralamanızı ayarlamanın yaygın bir yoludur ve sadece hatırlamanız gereken bir modeldir.
Ancak bu size lambda'nın gücünü gösterir; gerçekten sadece bir kerelik bir fonksiyona ihtiyacımız
varsa bu karmaşık fonksiyonları yazmak zorunda değiliz.
Ve sadece basit bir şey döndüren bir fonksiyon.
Lambda kullanmak için harika bir araçtır, ancak dediğim gibi bunu anlamadıysanız endişelenmeyin.
Bu sadece hatırlamanız gereken şeylerden biri.
Bir ara verelim, bir sonraki bölümde görüşmek üzere.
Güle güle.