Python Set

Python'da set yine bir dize türüdür. Bu türün özelliği sıralanamaz olmasıdır. Set, bir veri yığınıdır. Ancak bu verilere erişim sıra (index) yoluyla sağlanamamaktadır.

Bir set tanımlarken küme parantezi kullanılır.

Python Kodu

ornekSet = {"elma", "muz", "kiraz"}
print(ornekSet)
Python List için geçerli özelliklerin çoğu set için de geçerlidir. Aşağıda set'in list'ten farklı yanları belirtilmiştir:

Nesnelere Erişmek

UYARI: set sıralanamaz olduğu için hangi elemanın hangi sırada olduğu asla bilinemez ve sıra numarası yazılarak elde edilemez.

Ancak for döngüsü ile nesneleri tek tek kontrol edebilir;

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}

for x in ornekSet:
  print(x)
Ya da in sorgusu ile dizede aradığınız değer olup olmadığı öğrenilebilir:

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}

print("muz" in ornekSet)

Set Türü Dizelere Nesne Eklemek

set yığınına veri eklemek için add(nesne) özelliğinden faydalanabilirsiniz:

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}
ornekSet.add("portakal")
print(ornekSet)
Birden fazla nesne eklemek için update([nesneler]) özelliğinden faydalanabilirsiniz:

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}
ornekSet.update(["portakal", "mango", "üzüm"])
print(ornekSet)

Set Türü Dizelerden Nesne Silmek

Var olan bir elemanı, set yığınından silmek istiyorsak remove(nesne) özelliğini kullanabiliriz:

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}
ornekSet.remove("elma")
print(ornekSet)
Eğer silmek istediğimiz nesne yoksa remove() özelliği hata verecektir. Bu nedenle nesnenin dizede olup olmadığından emin değilsek remove() yerine discard() kullanmalıyız:

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}
ornekSet.discard("portakal")
print(ornekSet)
pop() özelliğini kullanarak set içindeki son nesne silinebilir. Ancak set'in sıralanamaz olduğunu unutmayın. Yani sildiğiniz nesnenin ne olduğunu bilemezsiniz.

PYTHON Kodu

ornekSet = {"elma", "muz", "kiraz"}
ornekSet.pop()
print(ornekSet)
Set içindeki nesneleri temizlemek için clear(), set'i tamamen kaldırmak ve tanımsız hale getirmek için del kullanılabilir:

PYTHON Kodu

ornekSet = {"apple", "banana", "cherry"}

ornekSet.clear() # tüm nesneleri siler

print(ornekSet) #hata vermez

del ornekSet # tanımsız hale getirir

print(ornekSet) #hata verir

Set Türü Dizeleri Birleştirmek

union() özelliği ile iki set birleştirilerek yeni bir set oluşturulabilir:

PYTHON Kodu

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set3 = set1.union(set2)
print(set3)
update() özelliği ile bir set içine başka bir set'in değerlerini ekleyebiliriz. Bu durumda yeni bir set oluşmaz. Aşağıdaki örnekte set1'in içine set2'nin nesneleri eklenecektir:

PYTHON Kodu

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set1.update(set2)
print(set1)

Yapıcı (Constructor) Kullanarak Set Oluşturmak

Set oluştururken { 1, 2, 3 } şeklinde belirtmek yerine set'in yapıcısını kullanabilirsiniz:

PYTHON Kodu

ornekset = set(("elma", "muz", "kiraz")) # çift parantezli
print(ornekset)
NOT: set'in eleman sayısını elde etmek için len() fonksiyonu kullanılabilir.