Tekrar hoş geldiniz.
Uygulamamıza, bağlantılarımızın listesini yukarıdan aşağıya doğru sıralamak için bir katman daha ekleyelim ve bunu oldukça kolay bir
şekilde yapabiliriz.
Duyalım bakalım.
Burada sahip olduğumuz Hacker News'i döndürmek yerine, hikayeleri sırala adında yeni bir işlev oluşturacağız.
Oy verin, biz de Hacker News'e verelim.
List ve bu fonksiyonu burada oluşturacağız.
Sıralamayı tanımla diyeceğiz.
Hikayeler.
Oy satın al.
Ve bu parametre hacker haber listesini alacaktır.
Ve burada sadece basit bir sıralama algoritması yapacağız.
Bu yüzden elimizdeki sıralama fonksiyonunu kullanacağız.
Hacker haberleri listesini vereceğiz.
Bakalım neler olacak.
Bunu çalıştıracağım.
Oh, ve burada sıralama yapmam gerekiyor.
Yöntem bu.
Şunu tekrar çalıştıralım.
Burada bir hata alıyoruz ve hatayı okursak tür hatası, dict ve dict örnekleri arasında desteklenmiyor
diyor.
Hmm.
Bu ne anlama geliyor?
Bir listedeki öğeleri sıralamaya çalışıyoruz, ancak bunların hepsi sözlük.
Yani Python diyor ki, hey, anlamıyorum.
Nasıl sıralamamı istersiniz?
Başlığa göre mi, bağlantıya göre mi, oylara göre mi sıralamamı istersiniz?
Bana söylemek zorundasın.
Ve bu, alışmanız gereken yaygın bir sıralama modelidir.
Bir lambda fonksiyonu kullanacağız.
İkinci parametremiz basitçe sıralamak istediğimiz anahtar olacaktır.
Sıralamak istediğimiz anahtar da oy oranları, değil mi?
Yani tek yapacağımız Lambda demek.
Ve anahtar de.
Sıralama yapacağımız bu anahtar da oylar olacak.
Böylece bunu kaydedip tekrar çalıştırırsam.
Şuna bak.
Her şeyi oylara göre sıraladım.
Gördüğünüz gibi.
Şimdi, eğer bu lambda size çok zor geliyorsa, kursun lambda hakkında konuştuğumuz bölümünü ziyaret
edebilirsiniz.
Ancak bu sadece sıralama ile hatırlayabileceğiniz yaygın bir modeldir.
Sözlükleri sıralarken anahtarları kullanırız ve sözdizimini bir lambda ile verip anahtarı iletebilirsiniz.
Buna göre sıralamak istiyorsunuz.
Bizim durumumuzda, bu oylar.
Yapmak istediğimiz son şey, aslında ters sıralamaya sahip olmak istememizdir.
Dolayısıyla, listedeki en üst öğe veya listedeki ilk öğe en yüksek oy sayısına sahip olmalıdır.
Bu yüzden ters eşittir doğru diyerek bunu üçüncü parametre ile basitçe yapabiliriz.
Aynen böyle.
Şimdi kodumuzu kaydedip çalıştırırsam.
Burada 309 oydan biri olan en yüksek oy alan tüm bağlantıların bir listesine sahip olduğumuzu görüyoruz.
Çok, çok havalı.
Şimdi işin heyecan verici kısmı, artık Hacker News web sitesini ziyaret etmenize bile gerek yok.
Tam bir programcı olabilir ve sadece buradaki başlıkları okumak gibi harika şeyler yapabilirsiniz ve Facebook'un
5 Milyar Dolarlık cezasını okuyabiliriz.
Gizlilik nedeniyle.
Sadece bu bağlantıyı seçerek ve diyelim ki terminal kullanıyorsunuz, sadece seçimi URL olarak aç diyebilir
ve buna bakabilirsiniz.
Hikayeyi doğrudan bu şekilde okuyabiliriz.
Çok, çok havalı.
Artık Hacker News'in her gün okuyabileceğiniz temizlenmiş, daha verimli bir versiyonuna sahipsiniz.
Tek yapmanız gereken sabahları bu betiği çalıştırmak ve okumalarınızı tamamlamak.
Şimdi, bu projeyi genişletmenin pek çok yolu var.
Bu bağlantılara gerçekten tıklayabilmeniz için bunu kendi dizinlenmiş HTML dosyanızda görüntüleyebilirsiniz.
Bunu diğer web siteleri ile de yapabilirsiniz.
Ancak benim size meydan okumam ve alıştırmam şu: Bu listeyi Hacker News'in ilk sayfasından daha fazlasını içerecek şekilde
nasıl genişletebiliriz?
Yani, Hacker News'e geri dönersek, şimdiye kadar sadece bu 30 bağlantıyı kazıyabildik.
Ama ya buraya daha fazla tıklarsam ve bu ikinci sayfaya gitmek istersem ve Hacker News'in ilk iki sayfasını
kazımak istersem.
Bir sonraki videoda bunu nasıl yapabilirim?
Size çözümü vereceğim, ancak bunu kendi başınıza bulmanız ve nasıl yapabileceğinizi görmeniz için size
meydan okuyorum.
Eğer takılırsan.
Bir sonraki videoda görüşürüz.
Güle güle.