Python Set/Frozenset Veri Yapısını Öğrenin – Bölüm 4


Python Veri Yapıları serisinin bu Bölüm 4'ünde kümenin ne olduğunu, Python'daki diğer veri yapılarından nasıl farklılaştığını, küme nesnelerinin nasıl oluşturulacağını, küme nesnelerinin nasıl silineceğini ve küme nesnelerinin yöntemlerini tartışacağız. .

  • Bir set nesnesi, farklı hashable nesnelerin sırasız bir koleksiyonudur.
  • Set, yinelenen öğeleri nesneden otomatik olarak kaldırır.
  • Ayarlanan nesneler sırasız olduğundan indeksleme ve dilimleme işlemi desteklenmez.

Şu anda iki yerleşik set türü vardır.

  1. set – Değişken olduğundan karma değeri yoktur ve sözlük anahtarı veya başka bir kümenin öğesi olarak kullanılamaz.
  2. frozenset – Değiştirilemez ve yıkanabilir – içeriği oluşturulduktan sonra değiştirilemez; bu nedenle sözlük anahtarı olarak veya başka bir kümenin öğesi olarak kullanılabilir.

Set Nesnesini Oluştur

“set()” yapıcı yöntemini kullanarak veya “{a,b,c}” öğelerini virgülle ayıran küme parantezleri kullanarak bir küme oluşturun.

NOT: sözlük nesnesi oluşturacağı için boş parantezlerle bir küme nesnesi oluşturamazsınız.

Yöntemleri Ayarla

Kullanılabilir küme yöntemlerini ve niteliklerini listelemek için yerleşik “dir()” işlevini kullanın.

Nesneyi Ayarlamak İçin Öğe Ekleme

Daha önce de belirtildiği gibi set değişken bir türdür. Ayarlanan nesnenizi oluşturulduktan sonra ekleyebilir, silebilir ve güncelleyebilirsiniz.

Ekle ve güncelleme şeklinde iki set yöntemden bahsedelim.

  • add(elem) yöntemi – Bu yöntem, ayarlanmış bir nesneye tek bir öğe ekler.
  • update(*others) yöntemi – Bu yöntem, ayarlanan bir nesneye birden çok öğe ekler. Değiştirilebilir/değişmez nesneleri update yönteminde argüman olarak iletebilirsiniz.

NOT: Kopyalar otomatik olarak kaldırılacaktır.

Ayarlanmış Bir Nesneden Öğeleri Kaldırma/Temizleme

Daha önce diğer veri yapısı konularında (liste, tuples, sözlük) gördüğünüz gibi, set için set nesnesini ad alanından silmek için yerleşik “del” anahtar kelimesini de kullanabilirsiniz (ör. Bellek).

Öğeleri kaldırmak için ayarlanan nesnelerin yöntemleri aşağıda verilmiştir.

  • clear() – Kümeyi boşaltan tüm öğeleri temizler. Bu clear() yöntemi, aynı işlevselliği sağlayan diğer veri yapılarında mevcuttur.
  • pop() – Rastgele öğeleri kaldırır.
  • discard(elem) – Öğe, ayarlanan nesnede bulunamazsa “discard()” yöntemi herhangi bir hataya neden olmaz.
  • remove(elem)“discard()” yöntemiyle aynıdır ancak bir öğe bulunmadığında KeyError'ı yükseltir.

İşlemleri Ayarla

Küme kesişim, birleşim, fark ve simetrik fark gibi matematiksel işlemleri gerçekleştirmek için yöntemler sağlar. Lise yıllarınızdaki "Venn şeması"nı hatırlıyor musunuz?

Matematiksel işlemlerin nasıl yapıldığına dair aşağıdaki yöntemlere göz atacağız.

  • birlik
  • kavşak
  • kesişim_update
  • simetrik_fark
  • simetrik_difference_update
  • fark
  • fark_update
  • ayrık
  • altküme
  • süper küme

Birleşim, Kesişme, Fark, Simetrik_Fark

  • union(*other) – Kümeden ve diğerlerinden öğeler içeren yeni bir küme döndürür.
  • kesişme(*diğer) – Kümede ve diğerlerinde ortak olan öğeleri içeren yeni bir küme döndürür.
  • fark(*diğerleri) – Kümede bulunan ve diğerlerinde olmayan öğeleri içeren yeni bir küme döndürür.
  • simetrik_difference(other) – Kümedeki veya diğerindeki öğeleri içeren, ancak her ikisinde olmayan yeni bir küme döndürür.

Kavşak_Güncelleme

intersection_update(*others) – Yalnızca içinde bulunan öğeleri ve diğerlerini koruyarak kümeyi güncelleyin.

Fark Güncellemesi

difference_update(*others) – Kümeyi güncelleyin, yalnızca içinde bulunan öğeleri ve diğerlerini koruyun.

Simetrik_Difference_Güncelleme

simetrik_difference_update(other) – Kümeyi güncelleyin, yalnızca her iki kümede de bulunan öğeleri koruyun, ancak her ikisinde de tutmayın.

Ayrık, Isaltkümesi, Issüperkümesi

  • isdisjoint(other) – Kümenin diğerleriyle hiçbir ortak öğesi yoksa True değerini döndürür. Kümeler ancak ve ancak kesişimleri boş küme ise ayrıktır.
  • issubset() – Kümedeki her öğenin başka bir öğenin içinde olup olmadığını test edin.
  • issuperset() – Diğerindeki her öğenin kümede olup olmadığını test edin.

Kopyala() Yöntemi

copy() yöntemini kullanarak mevcut ayarlanan nesnenin özdeş bir kopyasını oluşturabilirsiniz. Bu yöntem aynı zamanda liste, sözlük vb. gibi diğer veri yapısı türleri için de kullanılabilir.

Yerleşik bir “del” anahtar sözcüğünü kullanarak ayarlanan nesneyi ad alanından silin.

Dondurulmuş Set

  • Dondurulmuş set değişmez tiptedir. Bir kez oluşturulduktan sonra listedeki öğeleri ekleyemez, kaldıramaz veya güncelleyemezsiniz.
  • Dondurulmuş kümeler değişmez olduğundan karma yapılabilir, sözlükler için bir "anahtar" olarak veya başka bir küme nesnesinin öğeleri olarak kullanılabilir.
  • Dondurulmuş küme, “frozenset()” işlevi kullanılarak oluşturulur.
  • Dondurulmuş küme, union(), kesişim, copy(), isdisjoint() vb. gibi "set" ile karşılaştırıldığında aynı yöntem kümesini sağlar.

Özet

Bu yazıda setin ne olduğunu, set ile dondurulmuş set arasındaki farkı, set elemanlarının nasıl oluşturulacağını ve bunlara nasıl erişileceğini, set yöntemlerini vs. gördünüz.