Jump to content

Python

  • entries
    66
  • comments
    0
  • views
    25,548

set and frozenset Sınıfları


Doğuhan ELMA

220 views

Python'daki set ve frozenset sınıfları, öğeleri sırasız bir şekilde saklayan ve her öğenin yalnızca bir kez bulunabildiği veri yapılarıdır.

Set (Küme): Setler, matematikteki kümeleri modelleyen bir veri yapısıdır. Tekil (unique) öğeleri saklarlar, yani aynı öğe bir sette yalnızca bir kez bulunabilir. Setler ayrıca değiştirilebilir (mutable) bir veri yapısıdır, bu da öğelerin sete eklenip çıkarılmasına izin verir. Setler süslü parantez { } veya set() fonksiyonu kullanılarak oluşturulur.

kume = {1, 2, 3, 'dört', 5.0}
print(kume)  # {1, 2, 3, 'dört', 5.0}
print(type(kume))  # <class 'set'>

Setlere öğe eklemek veya bir öğeyi çıkarmak için add(), remove() veya discard() gibi metotlar kullanılabilir.

kume = {1, 2, 3}
kume.add(4)  # sete 4 ekler
print(kume)  # {1, 2, 3, 4}

kume.remove(1)  # setten 1'i çıkarır
print(kume)  # {2, 3, 4}

# Bir liste veya tuple'dan bir set oluşturmak
kume2 = set([1, 2, 2, 3, 4, 4, 4, 5, 6])
print(kume2)  # {1, 2, 3, 4, 5, 6} - tekrarlanan değerler çıkarıldı

Ayrıca setler, birleşim, kesişim, fark ve simetrik fark gibi kümeler arası işlemleri destekler.

Setlerle ilgili bazı temel işlemler:

Öğe Ekleme ve Çıkarma: Setlere add() metodu kullanılarak yeni öğeler ekleyebiliriz. Bir setten bir öğeyi çıkarmak için remove() veya discard() metodu kullanılır. Fark, remove() metodunun öğe sette bulunmazsa bir hata atmasına rağmen, discard() metodunun bir hata atmayacağıdır.

kume = {1, 2, 3}
kume.add(4)
print(kume)  # {1, 2, 3, 4}

kume.remove(1)
print(kume)  # {2, 3, 4}

kume.discard(2)
print(kume)  # {3, 4}

 

Set Operasyonları: Matematikteki kümelerle benzer şekilde, Python setleri de birleşim (union), kesişim (intersection), fark (difference) ve simetrik fark (symmetric_difference) gibi set operasyonlarını destekler.

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}

# Birleşim
print(A.union(B))  # {1, 2, 3, 4, 5, 6}

# Kesişim
print(A.intersection(B))  # {3, 4}

# Fark (A'nın B'den farkı)
print(A.difference(B))  # {1, 2}

# Simetrik Fark
print(A.symmetric_difference(B))  # {1, 2, 5, 6}

 

Üyelik Testi: in anahtar kelimesini kullanarak bir setin belirli bir öğeyi içerip içermediğini kontrol edebiliriz.

kume = {1, 2, 3, 4, 5}
print(1 in kume)  # True
print(6 in kume)  # False

 

Set Boyutu: Setteki öğe sayısını len() fonksiyonu ile bulabiliriz.

kume = {1, 2, 3, 4, 5}
print(len(kume))  # 5

 

Frozenset:

Frozensetler, setlerin değiştirilemez (immutable) versiyonudur. Yani bir frozenset oluşturulduktan sonra içindeki öğeleri değiştiremezsiniz. Bu, frozensetlerin, örneğin bir sözlüğün (dictionary) anahtarı olarak kullanılmasını sağlar. Frozensetler frozenset() fonksiyonu kullanılarak oluşturulur.

donmus_kume = frozenset([1, 2, 3, 'dört', 5.0])
print(donmus_kume)  # frozenset({1, 2, 3, 'dört', 5.0})
print(type(donmus_kume))  # <class 'frozenset'>

Bir frozenset'e öğe eklemek veya bir öğeyi çıkarmak mümkün değildir. Ancak, tıpkı normal setler gibi, frozensetler de birleşim, kesişim, fark ve simetrik fark gibi kümeler arası işlemleri destekler.

Set ve frozensetler, özellikle veri analizinde ve işlemlerinde, öğelerin benzersizliğini sağlamak veya kümeler arası işlemleri gerçekleştirmek için kullanılır.

 

Set Operatörleri:

| veya .union(): Setlerin birleşimini verir. Yani, her iki kümenin de öğelerini içeren bir set döndürür.

& veya .intersection(): Setlerin kesişimini verir. Yani, her iki kümenin de ortak öğelerini içeren bir set döndürür.

- veya .difference(): İlk setin ikinci setten farkını verir. Yani, ilk sette bulunan, ancak ikinci sette olmayan öğeleri içeren bir set döndürür.

^ veya .symmetric_difference(): Setlerin simetrik farkını verir. Yani, bir sette veya diğerinde (ancak her ikisinde birden değil) bulunan öğeleri içeren bir set döndürür.

 

Setlerde Karşılaştırma Operatörleri:

Setler üzerinde karşılaştırma operatörlerini kullanarak, iki setin eşitliğini (==) veya eşitsizliğini (!=) kontrol edebilirsiniz. Ayrıca, bir setin diğer bir setin alt kümesi (<, <=) veya üst kümesi (>, >=) olup olmadığını kontrol edebilirsiniz.

set1 = {1, 2, 3, 4}
set2 = {1, 2, 3, 4}
set3 = {1, 2}
set4 = {1, 2, 3, 4, 5}

print(set1 == set2)  # True
print(set1 != set3)  # True
print(set3 < set1)  # True
print(set1 < set4)  # True

 

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...