- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba! Listeleri ve Tuple'ları gördük. Şimdi sıra, matematikteki kümeler kavramına karşılık gelen Setler (Kümeler) veri yapısında. Setler, veri koleksiyonu olarak listelere ve tuple'lara benzer, ancak iki çok önemli farkı vardır:
Benzersizlik (Uniqueness): Bir Set, aynı öğeden yalnızca bir tane bulundurabilir. Tekrarlanan öğeler otomatik olarak atılır.
Sırasızlık (Unordered): Öğeler eklenme sırasına göre saklanmaz. Setler rastgele bir sırayla listelenebilir.
Setler, genellikle veri temizleme (tekrar edenleri kaldırma) ve hızlı üyelik testi (bir öğenin koleksiyonda olup olmadığını kontrol etme) için idealdir.
Setler, öğelerin süslü parantezler ({}) içine virgülle ayrılarak yazılmasıyla oluşturulur.
Süslü Parantez ile:
print(gecen_aylar)
# Çıktı (Sıra değişebilir): {'Mart', 'Ocak', 'Şubat'}
set() Fonksiyonu ile: Başka bir koleksiyonu (liste, tuple vb.) set'e dönüştürür.
benzersiz_sayilar = set(sayi_listesi)
print(benzersiz_sayilar)
# Çıktı: {1, 2, 3, 4}
Boş bir Set oluşturmak için mutlaka set() fonksiyonu kullanılmalıdır. {} kullanımı, boş bir Sözlük (Dictionary) oluşturur.
bos_set = set()
print(type(set_degil)) # Çıktı: <class 'dict'>
print(type(bos_set)) # Çıktı: <class 'set'>
Setler sırasız olduğu için, listelerden farklı olarak index numarası (dizinleme) ile tekil öğelere erişmek veya dilimleme (slicing) yapmak mümkün değildir ve hata verir.
Üyelik Testi: Bir öğenin sette olup olmadığını in operatörü ile hızlıca kontrol edebiliriz.
print("veri" in etiketler) # Çıktı: True
print("java" in etiketler) # Çıktı: False
Setler değiştirilebilir (mutable) bir koleksiyondur; yani öğe ekleyebilir veya silebilirsiniz.
add(öğe): Set'e tek bir öğe ekler. Eğer öğe zaten varsa hiçbir şey olmaz.
update(koleksiyon): Başka bir yinelenebilir yapıdaki (liste, tuple, başka bir set) birden fazla öğeyi set'e ekler.
remove(öğe): Belirtilen öğeyi set'ten siler. Öğe sette yoksa KeyError hatası verir.
discard(öğe): Belirtilen öğeyi set'ten siler. Öğe sette yoksa hata vermez. (Daha güvenli yöntemdir.)
pop(): Set'ten rastgele bir öğeyi siler ve sildiği öğeyi döndürür (Sırasız olduğu için hangi öğenin silineceği belli değildir).
clear(): Set'teki tüm öğeleri siler ve seti boş hale getirir.
Setler, iki veya daha fazla küme arasındaki ilişkileri bulmak için matematiksel küme operatörlerini kullanır.
| İşlem | Operatör | Metot | Açıklama |
| Birleşim | | | .union() | Her iki setteki tüm öğeler. |
| Kesişim | & | .intersection() | Yalnızca her iki sette de ortak olan öğeler. |
| Fark | - | .difference() | İlk sette olup, ikinci sette olmayan öğeler. |
| Simetrik Fark | ^ | .symmetric_difference() | İki setten birinde olan ancak her ikisinde de olmayan öğeler (ortaklar hariç). |
Örnek Kullanım:
b = {3, 4, 5, 6}
birlesim = a | b # Çıktı: {1, 2, 3, 4, 5, 6}
kesisim = a.intersection(b) # Çıktı: {3, 4}
fark = a - b # Çıktı: {1, 2}
Bu metotlar, iki set arasındaki ilişkileri kontrol etmek için kullanılır ve sonuç olarak Boolean (True/False) döndürür.
issubset(diğer_set): Mevcut set, diğer setin alt kümesi midir? (Yani, mevcut setin tüm öğeleri diğer sette de var mı?)
issuperset(diğer_set): Mevcut set, diğer seti kapsıyor mu? (Yani, diğer setin tüm öğeleri mevcut sette de var mı?)
isdisjoint(diğer_set): İki setin hiç ortak öğesi yok mudur? (Ortak öğe yoksa True döndürür.)
Setler, özellikle veri temizleme ve filtreleme işlemlerinde çok değerli araçlardır. Bir listedeki tekrarlanan öğeleri hızla kaldırmanın en kolay yolu, o listeyi bir sete dönüştürüp tekrar listeye çevirmektir. Ayrıca, büyük veri kümelerinde bir öğenin varlığını hızlıca kontrol etmek (üyelik testi) setlerle oldukça verimlidir.
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
Yorumlar
Yorum Gönder