Python'da benzersiz (tekil) ve sırasız verilerin saklanabildiği veri tipi set data type olarak adlandırılır.
Set'te iki temel özellik vardır:
Liste verileri [ ] köşeli parantez, tuple verileri ( ) normal parantez ile saklanırken set verileri { } süslü parantezler içinde depolanır.
Şimdi JupyterLite Notebook'u açalım. JupyterLite, veri bilimciler tarafından sıkça kullanılan Jupyter Notebook'un online versiyonudur. Online Python Editörleri bölümünde de tanıtılan bu uygulamayı sadece bu derste tanımak amacıyla kullanacağız. Bu şekilde Jupyter Notebook'a da aşina olacaksınız.
Editörü açtıktan sonra File > New > Notebook yolunu izleyiniz.
Boş bir Jupyter Notebook sayfası açılacaktır.
myset adlı yeni bir set oluşturduktan sonra { } süslü parantezler içine 2, 3, 1, 4, 5 değerlerini yazdık ve print() fonksiyonu ile myset'i yazdırdık. Play tuşuna baştığımızda oluşturduğumuz set'in çıktısını elde edeceğiz.
secondset adlı yeni bir set oluşturduğumuzda dikkat ederseniz 3, 4 ve 6 değerleri setin içinde birden fazla tekrar etmesine rağmen çıktısını aldığımızda tüm değerler tekil olarak listelenmiştir. Bu, setin birinci temel özelliğidir. Setlerdeki tüm değerler benzersiz, yani tekildir. Bir daha tekrarlanmaz.
Set veri tipi için kullanılabilecek birçok metod bulunmaktadır.
Bir set'e yeni bir değer eklemek için add() metodunu kullanıyoruz.
Diyelim ki elimizde birden fazla tekrar eden değerlere sahip liste_1 adlı bir liste olsun. Bu listeyi sadece benzersiz elemanlardan oluşacak liste_2 adlı yeni bir listeye aktarmak istersek set() metodunu kullanıyoruz. Yeni listemizi yazdırdığımızda süslü parantezler içerisinde tekil değerlerden oluşan elemanlar listelenecektir. Sonuç olarak liste_2'nin veri tipi set'tir.
Bunu liste_1 ve liste_2'nin veri tiplerini yazdırdığımızda da teyit edebiliriz.
Bir set'ten herhangi bir değeri çıkarmak için remove() metodunu kullanıyoruz.
İki set arasındaki farkı görüntülemek için difference() metodunu kullanıyoruz. Bu örnekte set_1'de olan fakat set_2'de olmayan değerleri set_3 adlı yeni bir set'e atadık ve yazdırdık.
İki sette de ortak olan değerleri bulmak için kullanılır. Kesişim kümesi olarak düşünülebilir.
Bu örnekte set_1 ve set_2'de olan ortak değerler 4 ve 5 sayılarıdır. intersection() metodu ile bu iki değeri set_4 adlı yeni bir set'e atadık ve yazdırdık.
İki setteki tüm değerleri birleştirip ortak bir set oluşturmak için kullanılıyoruz. Birleşim kümesi olarak düşünülebilir.
Bu örnek set_1 ve set_2'yi set_5 adlı yeni bir set'te birleştirdik ve yazdırdık.
İki seti birleştirmek için | dik çizgi, kesişimlerini bulmak için & ve işaretini kullanıyoruz.
Dik çizgi union() için kullanılırken & işareti intersection() için kullanılmaktadır.
Uygulama 01:
liste_1 listesindeki tüm verileri set_1 adlı yeni bir set'e atayınız ve yazdırınız.
Liste değerlerini yeni bir set'e atamak için set() fonksiyonunu kullanmamız yeterlidir. Sonuç olarak
{16, 10, 12, 14}set değerleri yazdırılacaktır.
Uygulama 02:
Sadece set_a ve set_b'de ortak olan değerleri yazdırınız.
Setlerdeki ortak değerleri yazdırmak, yani kesişim kümelerini bulmak için intersection() metodunu kullanabiliriz. Ya da doğrudan & ve işareti ile çok daha kısa bir şekilde sonuca ulaşbiliriz. Sonuç olarak
{18, 20}çıktısını elde edeceğiz.
Uygulama 03:
cicekler set'ine orkide adlı yeni bir değer ekleyiniz ve yazdırınız.
Bir set'e yeni bir değer eklerken add() metodunu kullanıyoruz. Çıktımız
{'orkide', 'papatya', 'gül', 'karanfil'}olacaktır.
Set'ler Python'da bu şekilde. NumPy, Pandas gibi veri bilimi kütüphanelerini kullanmaya başladığımızda set'leri de kullanacağız. Bu sebeple set'lerin hangi amaçla ve neden kullanıldığının bilinmesi önemlidir.
Bir sonraki bölümde veri tiplerinin genel tekrarını yapacağız.