Merhaba arkadaşlar, bu yazımızda Python derslerinin bu serisinde on üçüncü ders olarak Python Set ve Frozenset konusuna değinmeye çalışacağım. Umarım sizler için faydalı bir yazı olur. İsterseniz hemen başlayalım.
Set(Küme) ve Frozenset (Kısıtlanmış Küme) Nedir?
Python’da “set” (küme) ve “frozenset” (kısıtlanmış küme) adı verilen iki farklı veri yapısı mevcuttur.
- Set: Set, verileri küme olarak saklar ve herhangi bir veri yalnızca bir kez içerebilir. Setler, {} kullanılarak oluşturulur veya set() fonksiyonu kullanılarak oluşturulabilir. Setler, verileri eklemek, silmek ve aramak gibi işlemler için kullanılabilir.
>>> my_set = {1, 2, 3, 4} >>> my_set.add(5) >>> my_set {1, 2, 3, 4, 5} >>> my_set.remove(4) >>> my_set {1, 2, 3, 5} >>> 5 in my_set True
- Frozenset: Frozenset, setlerin değiştirilemeyen bir versiyonudur. Yani, oluşturulduktan sonra elemanları eklenemez, silinemez veya değiştirilemez. Frozensetler, () kullanılarak oluşturulur veya frozenset() fonksiyonu kullanılarak oluşturulabilir.
>>> my_frozenset = frozenset([1, 2, 3, 4]) >>> my_frozenset.add(5) AttributeError: 'frozenset' object has no attribute 'add' >>> 5 in my_frozenset True
Set ve frozensetler, verileri saklamak için kullanılırken, setler dinamik yapıda olurken frozensetler statik yapıdadır. Bu yüzden setler veri işleme için kullanılırken frozensetler veri saklama için kullanılır. Örneğin, bir fonksiyonun parametre olarak kabul ettiği unique değerleri saklamak için frozenset kullanılabilir.
Set (Küme) Metotları
Python’da set veri yapısı, birçok faydalı metodu içermektedir. Aşağıda bazı örnekler verilmiştir:
- add(element): Bu metot set içine verilen elemanı ekler.
>>> my_set = {1, 2, 3} >>> my_set.add(4) >>> my_set {1, 2, 3, 4}
- clear(): Bu metot set içindeki tüm elemanları siler.
>>> my_set = {1, 2, 3} >>> my_set.clear() >>> my_set set()
- copy(): Bu metot set içindeki elemanları bir başka set nesnesine kopyalar.
>>> my_set = {1, 2, 3} >>> my_set_copy = my_set.copy() >>> my_set_copy {1, 2, 3}
- difference(other_set): Bu metot iki set arasındaki farkı döndürür.
>>> my_set = {1, 2, 3} >>> other_set = {2, 3, 4} >>> my_set.difference(other_set) {1}
- difference_update(other_set): Bu metot set içindeki elemanları, verilen diğer set içindeki elemanların çıkarılmasıyla günceller.
>>> my_set = {1, 2, 3} >>> other_set = {2, 3, 4} >>> my_set.difference_update(other_set) >>> my_set {1}
- discard(element): Bu metot set içinden verilen elemanı siler. Eğer eleman set içinde yoksa hiçbir şey yapmaz.
>>> my_set = {1, 2, 3} >>> my_set.discard(2) >>> my_set {1, 3}
- intersection(other_set): Bu metot iki set arasındaki kesişimi döndürür.
>>> my_set = {1, 2, 3} >>> other_set = {2, 3, 4} >>> my_set.intersection(other_set) {2, 3}
- intersection_update(other_set): Bu metot set içindeki elemanları, verilen diğer set içindeki elemanlarla kesişen elemanlarla günceller.
>>> my_set = {1, 2, 3} >>> other_set = {2, 3, 4} >>> my_set.intersection_update(other_set) >>> my_set {2, 3}
Arkadaşlar bu Python Set ve Frozenset adlı yazımızın da sonuna gelmiş bulunmaktayız. Umarım faydalı olmuştur.