‫Bir sonraki veri yapımız hakkında konuşalım.
‫Ve buna sözlük deniyor.
‫Diğer dillerde.
‫Hash tablosu, harita ya da nesneler olarak adlandırılabilir.
‫Python'da bu sözlük fikrine sahibiz.
‫Ya da Python'un deyimiyle dict.
‫Bunu doğru telaffuz ettiğimden emin olmalıyım.
‫Bu, kayıt yaparken söylenmesi gerçekten zor bir kelime ve zaten sürekli tekrar ediyorsunuz.
‫Sözlük.
‫Ne oldu?
‫Python'da bir veri türüdür, ancak aynı zamanda bir veri yapısıdır.
‫Listelerden bahsederken bu veri yapısı fikrinden bahsettiğimi hatırlayın.
‫Python'da öğrendiğimiz ilk veri yapısı vardı.
‫Bu, verilerimizi, örneğin listeler gibi, onlara nasıl erişeceğimiz konusunda bazı farklı artıları ve eksileri olan bir
‫biçimde düzenlememizin bir yoludur.
‫Kolayca sipariş edilebildiklerini gördük.
‫Bunlara sıfır bir gibi indeksler aracılığıyla erişebiliriz.
‫Onları tersine çevirebilir, içlerine girebiliriz.
‫Gerçekten çok güzeldi.
‫Peki ya sözlükler?
‫Bakalım bir sözlük neye benziyor.
‫Sözlük mü?
‫Bakın, bunun gibi bir şeyin anahtarı olur.
‫Ve bir değer.
‫Ve sonra bir virgül daha.
‫Ve sonra başka bir anahtar.
‫Ve başka bir değer.
‫Şunu deşifre edelim.
‫Bu yüzden burada bir sözlüğü ifade eden küme parantezleri kullanıyorum.
‫Ve bir listeden farklı olarak, anahtar değer çifti dediğimiz bir şeye sahibiz.
‫Anahtar, değeri yakalamamız için bir dizedir.
‫Nasıl yani?
‫Bu değerlerden herhangi birine erişebilmemiz için sözlüğe giderdim.
‫Ve sonra bizim durumumuzda anahtarı söyleyin, diyelim ki B'yi yakalamak istiyoruz, anahtarı yakalarız ve sonra yazdırdığımızda
‫sonucu duyarız.
‫Biz de değerini anlıyoruz.
‫Esasen bilgisayara şunu söylüyoruz: Hey, bu değişken sözlüğe sahibim.
‫Unutmayın, buna istediğim ismi verebilirim.
‫Bu değişken sözlüğe sahibim.
‫Gidip B anahtarını bulmanızı ve bu B anahtarının varsa değerini almanızı istiyorum.
‫Yani sizin hafızanıza ya da makinenin hafızasına girecek.
‫B'nin belleğimizde nerede depolandığını bulacak ve değeri alacaktır.
‫Yani B kitaplığında, var olmayan C'yi yaparsak ne olur değerine sahibiz.
‫Çalıştır'a tıklarsam, hayır, bir hata alıyorum.
‫Bana diyor ki, Hey, üzgünüm, C anahtarını arıyorsun, ama bende o anahtar yok.
‫İşte sözlük budur.
‫Sözlük, sıralanmamış bir anahtar değer çiftidir.
‫Sırasız derken kastettiğim şey, bellekte birbirlerinin hemen yanında olmadıklarıdır.
‫Hatırlayın, listelerle indeksi sıfır olan listelere erişebiliyorduk, sonra indeksi bir, indeksi
‫iki, tüm bu kitap rafları veya hemen yan yana bir sözlük.
‫Öte yandan, her yerde varlar.
‫A ve B'yi buraya koymama rağmen.
‫Bu bellekte bir noktada, bu da bellekte başka bir noktada olabilir.
‫Ve diyelim ki X'i eklersem, bu hafızada başka bir nokta olacaktır.
‫Ve bu sırayla olmayabilir.
‫Belki içine a, b, x yazmış olabilirim, ama aslında tüm sözlüğü döndürdüğümde.
‫Belki de bunu sıraya koymamışımdır.
‫Bunların hepsi hafızamıza dağılmış durumda.
‫Burada gördüğünüz gibi, sözlüğü aldığımda bunları sıraya koyuyorum.
‫Ama bunun tek nedeni küçük olması.
‫Eğer gerçekten çok büyük bir sözlüğüm olsaydı, onları eklediğim sıraya göre almayabilirdim.
‫Yani bir sözlük sıralanmamış bir anahtar değer çiftidir.
‫Ve anahtarı bildiğimiz sürece, yani aradığımız anahtar her neyse, o zaman sadece bunu veririz
‫ve bilgisayarımız değerleri almak için bellekte nereye bakacağını bilir.
‫Şimdi sözlükler ve listeler gibi veri yapılarıyla ilgili harika bir şey var.
‫Bunlar verilerin etrafındaki konteynerler, değil mi?
‫Yani bu istediğimiz herhangi bir şey olabilir.
‫Diyelim ki bunun bir liste olmasını istiyoruz.
‫Bir, iki, üç.
‫Belki de bunun bir dize olmasını istiyoruz.
‫Alo?
‫Ve belki de bu bir boolean değeridir.
‫Sevdim.
‫Doğru.
‫Bu tamamen geçerli.
‫A'ya erişebiliyorum.
‫Bu şekilde.
‫Ve listeyi aldım.
‫Ya listedeki ikinci öğeyi istiyorsam?
‫Böyle bir endeksim var.
‫Ve işte oldu.
‫Bu durum listeler için de geçerli ve bunu sık sık göreceksiniz, eğer bir listemiz varsa
‫ya da buna benim listem diyelim ve listem diyelim ki a içeren bir sözlük içeriyorsa.
‫Bir.
‫Ve ne var biliyor musun?
‫Bunu kopyalayıp yapıştıralım.
‫Bunu yapacağız.
‫Böylece dizideki ilk öğeye sahip olacağız.
‫Bunun gibi.
‫Sonra virgül.
‫Sonra dizideki başka bir öğe.
‫Ve bu seferkinde dört, beş, altı tane var.
‫Böylece artık listemden alabilirim.
‫O.
‫İlk madde.
‫Dizinin içinde.
‫Ve sonra belki kapmak.
‫Anahtar olan A.
‫Unutmayın, bu bir dize ve biz de diyelim ki üçüncü öğeyi almak istiyoruz.
‫O zaman gidelim.
‫Kime?
‫Eğer bunu çalıştırırsam, üç ve iki almalıyım.
‫Al bakalım.
‫Şimdi kendinize bu veri yapılarının ne işe yaradığını soruyor olabilirsiniz.
‫Mesela, neden bir sözlüğe ihtiyacımız var?
‫Listeye neden ihtiyacımız var?
‫Neden her şeyi yapan tek bir şeyimiz olsun ki?
‫Bu daha basit değil mi?
‫Bunu bir düşünün, çünkü bir sonraki videoda bu soruyu sizin için yanıtlamaya çalışacağım.