‫Buna inanabiliyor musun?
‫Umarım sizi uyutmamışımdır, ama neredeyse geldik.
‫Son bir ana veri türü kümemiz daha var ve sonra işimiz bitiyor.
‫Biliyorum, bunun çok heyecan verici bir konu olmadığını biliyorum.
‫İnanın bana, bu en zor kısmı.
‫Yeni başladığınızda ve bu şeyleri anlamadan öğreniyorsanız.
‫Buna neden ihtiyacım var?
‫Bir sonraki oyunu nasıl inşa edeceğim?
‫Bir sonraki Netflix'i nasıl inşa edeceğim?
‫Bir sonraki en havalı Apple uygulamasını nasıl geliştireceğim?
‫Buna bakıyorsunuz ve bir sürü teori öğrendim diye düşünüyorsunuz.
‫Kendimi yeniden matematik dersindeymişim gibi hissediyorum.
‫Biliyorum.
‫İnan bana, ben de bunu yaşadım.
‫Ben de kendi kendini yetiştirmiş bir programcıydım.
‫Bunlar temelimizi inşa eden Lego bloklarıdır.
‫Bunları öğrendikten sonra yeni şeylere geçebiliriz ve göreceksiniz ki bu küçük dağa tırmandığınızda işler
‫çok daha kolay hale gelecek ve gücün farkına varacaksınız.
‫Dersin sonuna doğru bu projeleri inşa etmeye başladığımızda, "Öğrendiğimiz tüm bu bloklar,
‫açıkçası sıkıcı olan tüm bu kısımlar anlam kazanacak" diyeceksiniz.
‫O yüzden dayan.
‫Zor olması gerekiyordu.
‫Zor olması gerekiyor, ancak çok yakında bunun neden bu kadar güçlü olduğunu ve öğrendiklerimizin neden gerçekten
‫harika şeyler inşa etmemize ve gerçekten harika programlar oluşturmamıza izin vereceğini göreceksiniz.
‫Şimdi sonuncusu ile bitirelim, son veri tipi, Python'da göreceğimiz son veri yapısı,
‫en azından ana olanlardan.
‫Buna küme denir ve kümeler basitçe benzersiz nesnelerin sıralanmamış koleksiyonlarıdır.
‫Hmm.
‫Bir göz atalım.
‫Bir benim setim ve benim setim oluşturalım.
‫Sözlük gibi küme parantezleri ile oluşturuyoruz.
‫Ancak bir sözlük yerine, anahtar değer çiftlerimiz yok.
‫Bunun yerine, sadece bir, iki, üç, dört, beş gibi değerlerimiz var.
‫Bu kadar.
‫Bu bir set.
‫Sadece bir set oluşturduk.
‫Ama unutmayın, size verdiğim tanımda küme, benzersiz nesnelerin sıralanmamış bir koleksiyonudur.
‫Bu ne anlama geliyor?
‫Peki, bunu yazdırırsam ve setimi söyleyip Çalıştır'a tıklarsam.
‫Bir set aldım.
‫Ama diyelim ki burada beş tane daha olsaydı ve Çalıştır'a tıklasaydım.
‫Yalnızca benzersiz setleri veya bir sette gördüğünüz benzersiz öğeleri döndürür.
‫Mükerrer yok.
‫Her şey benzersiz olmalı.
‫Yani bu beşli asla bir sete eklenmez.
‫Örneğin, benim setim gibi bir sete bir şeyler ekleyebilirsiniz ve sonra ekle diyebilir ve 100 gibi bir değer verebilirim.
‫Ve sonra diyelim ki nokta reklamımı yapıyorum ve sonra buraya tıklarsam çalıştır'a veriyorum.
‫Gördüğüm kadarıyla 100 ekleyebildim, ancak iki ekleyemedim çünkü setim zaten bu verileri
‫içeriyordu.
‫Bu bir emirdir.
‫Yani, burada bir, iki, üç, dört, beş yarattık, ama gerçek bir düzen yok.
‫Hafıza alanımızda birbirinin hemen yanında olan bir kitaplık yok.
‫Bunlar hafızada her yerdedir, ancak bir set onları bulabilir çünkü hepsi benzersizdir.
‫Yani hepsi bellekte tek bir konumdadır.
‫Size şunu sormama izin verin.
‫Ve bu eğlenceli küçük bir egzersiz olacak.
‫Eğer sana bir dizi verseydim.
‫Ve diyelim ki bunlar kontrol altında.
‫İşte burada.
‫Ve sizden yinelenmeyen bir dizi döndürmenizi istiyorum.
‫Bu yüzden her şeyi istiyorum.
‫Şöyle diyelim.
‫Buna benim listem diyelim.
‫Ve bir programcı bunu çoktan yarattı.
‫Tamam.
‫Ve sonra göreviniz, yalnızca benzersiz öğelere sahip bir liste veya koleksiyon oluşturmak veya döndürmektir.
‫Bunu bir sete dönüştürmek için ne yapardınız?
‫Bunu daha önce de gördük.
‫Bir set fonksiyonumuz var ve listemizi bu setin içine sarıyoruz.
‫Ve çıktısını alalım.
‫Koş'a tıklıyorum.
‫Şuna bir bak.
‫Bir listeden yeni bir set oluşturduk.
‫Ve tüm yinelenen değerleri kaldırdım.
‫Bu ne zaman faydalı olur?
‫Kullanıcı adlarımız olduğunu düşünsene, değil mi?
‫Ya da e-posta adresleri.
‫Başlangıç sayfamızda e-posta adreslerini topluyoruz, ancak yinelenen e-postalara sahip olmak istemiyoruz.
‫Bu e-posta listesini bir kümeye dönüştürmek ve yinelenenleri kaldırmak isteyebiliriz.
‫Yani tekrar tekrar e-posta göndermiyoruz.
‫Bu gerçekten harika.
‫Buna ne dersin?
‫Yapabilir miyim?
‫Bunu bir sete dönüştürelim.
‫Buna benim setim diyelim.
‫Bunu bir sete dönüştürecek.
‫Al bakalım.
‫Peki ya kümeme sıfır indeksinden erişmek istersem?
‫Hmm.
‫Set nesnesi dizin oluşturmayı desteklemez.
‫Yine, bunu daha çok bir sözlük olarak düşünebilirsiniz.
‫Bir sete erişmek için, içindeki öğeyi yakalamamız gerekir.
‫Hafızadan bilgi almanın anahtarı budur.
‫Bir şeyin var olup olmadığını kontrol etmenin yolu basitçe, Hey, benim setimde bir tane var mı demek ve bunu çalıştırmaktır.
‫Ve doğru anladık.
‫Setimin uzunluğunu da yapabiliriz ve beş tane alırız.
‫Yine çok çılgınca bir şey değil ama bir, iki, üç, dört, beş.
‫Bunun sadece benzersiz şeyleri saydığını unutmayın çünkü bunlar asla girilmeyecektir.
‫Bu bir set.
‫Alternatif olarak, bunu bir listeye de dönüştürebiliriz.
‫Burayı Çalıştır'a tıklarsam, artık setimin bir liste halinde olduğunu göreceksiniz.
‫Ayrıca, diyelim ki set nokta kopyalama işlemini yapabilir ve setimi yeni diyelim bir şeye kopyalayabiliriz.
‫Ya da yeni bir set ve sonra bu orijinalinden tamamen farklı veya yeni bir kopya olacak.
‫Şimdi bunu test edelim.
‫Bu yeni set.
‫Daha önce görmüş olabileceğimiz bir yöntem kullanırsam, ki bu benim set dot clear yöntemimdir, tahmin edebileceğiniz gibi seti
‫temizler ve çalıştır'a tıklarım.
‫O yeni seti aldım.
‫Ancak benim setim olan eski setimizi yazdırmaya çalıştığımda, boş ve boş bir set olacak.
‫Ancak setlerin gerçek gücü, size göstereceğim sonraki birkaç yöntemde ortaya çıkıyor.
‫Ve setlerin epeyce yöntemi vardır, ancak endişelenmeyin, çoğu oldukça benzerdir.
‫Bunu bir sonraki videoda inceleyelim.