Python’da Setler

Bu eğitimde Python kümeleri hakkında her şeyi öğreneceksiniz; nasıl oluşturuldukları, bunlara eleman eklenmesi veya çıkarılması ve Python’da kümeler üzerinde gerçekleştirilen tüm işlemler.

Bir küme, sıralanmamış bir öğeler topluluğudur. Her küme öğesi benzersizdir (yineleme yok) ve değişmez olmalıdır (değiştirilemez).

Ancak, bir kümenin kendisi değişkendir. Ondan öğeler ekleyebilir veya çıkarabiliriz.

Kümeler aynı zamanda birleşim, kesişim, simetrik fark gibi matematiksel küme işlemlerini gerçekleştirmek için de kullanılabilir.


Python Setleri Oluşturma

{}Tüm öğeler (öğeler) , virgülle ayrılmış küme parantezleri içine yerleştirilerek veya yerleşik set()işlev kullanılarak bir küme oluşturulur.

Herhangi bir sayıda öğeye sahip olabilir ve farklı türlerde olabilirler (integer, float, tuple, string vb.). Ancak bir küme, öğeleri olarak listeler , kümeler veya sözlükler gibi değiştirilebilir öğelere sahip olamaz .

Çıktı

Aşağıdaki örnekleri de deneyin.

Çıktı


Boş bir küme oluşturmak biraz zor.

Boş küme parantezleri {}Python’da boş bir sözlük oluşturacaktır. Elemansız bir küme oluşturmak için set()fonksiyonu argümansız kullanırız.

Çıktı


Python’da bir kümeyi değiştirme

Kümeler değişkendir. Ancak sırasız oldukları için indekslemenin bir anlamı yoktur.

Dizinleme veya dilimleme kullanarak bir kümenin öğesine erişemez veya öğeyi değiştiremeyiz. Set veri türü bunu desteklemiyor.

add()Yöntemi kullanarak tek bir öğe ve yöntemi kullanarak birden çok öğe ekleyebiliriz update(). Yöntem , argüman olarak tuples , listeler, dizeler veya diğer kümeleri update()alabilir . Her durumda, kopyalardan kaçınılır.

Çıktı


Bir kümeden eleman çıkarma

discard()Belirli bir öğe, ve yöntemleri kullanılarak bir kümeden çıkarılabilir remove().

İkisi arasındaki tek fark discard(), eleman kümede yoksa fonksiyonun bir kümeyi değiştirmeden bırakmasıdır. Öte yandan, remove()fonksiyon böyle bir durumda (kümede eleman yoksa) bir hata verecektir.

Aşağıdaki örnek bunu gösterecektir.

Çıktı

Benzer şekilde, yöntemi kullanarak bir öğeyi kaldırabilir ve iade edebiliriz pop().

Küme sırasız bir veri türü olduğundan, hangi öğenin atılacağını belirlemenin bir yolu yoktur. Tamamen keyfi.

clear()Yöntemi kullanarak bir kümedeki tüm öğeleri de kaldırabiliriz .

Çıktı


Python Kümesi İşlemleri

Kümeler, birleşim, kesişim, fark ve simetrik fark gibi matematiksel küme işlemlerini gerçekleştirmek için kullanılabilir. Bunu operatörler veya yöntemlerle yapabiliriz.

Aşağıdaki işlemler için aşağıdaki iki kümeyi ele alalım.

Birliği ayarla

Python'da Birliği Ayarla
Python’da Birliği Ayarla

BirliğiAveBher iki kümenin tüm öğelerinin bir kümesidir.

|Birleştirme operatörü kullanılarak gerçekleştirilir . union()Aynı yöntem kullanılarak da gerçekleştirilebilir .

Çıktı

Aşağıdaki örnekleri Python kabuğunda deneyin.


Kavşağı Ayarla

Python'da Kavşağı Ayarla
Python’da Kavşağı Ayarla

KesişimiAveBher iki kümede de ortak olan öğeler kümesidir.

&Kavşak operatörü kullanılarak gerçekleştirilir . intersection()Aynı yöntem kullanılarak da gerçekleştirilebilir .

Çıktı

Aşağıdaki örnekleri Python kabuğunda deneyin.


Farkı Ayarla

Python'da Farkı Ayarla
Python’da Farkı Ayarla

set farkıBsettenA(AB) yalnızca içinde olan bir öğeler kümesidir.Aama içinde değilB. Benzer şekilde,BAbir öğeler kümesidirBama içinde değilA.

-Fark, operatör kullanılarak gerçekleştirilir . difference()Aynı yöntem kullanılarak da gerçekleştirilebilir .

Çıktı

Aşağıdaki örnekleri Python kabuğunda deneyin.


Simetrik Farkı Ayarla

Python'da Simetrik Farkı Ayarla
Python’da Simetrik Farkı Ayarla

Simetrik FarkıAveBbir öğeler kümesidirAveBancak her ikisinde de değil (kavşak hariç).

^Operatör kullanılarak simetrik fark yapılır . Aynı yöntem kullanılarak da gerçekleştirilebilir symmetric_difference().

Çıktı

Aşağıdaki örnekleri Python kabuğunda deneyin.


Diğer Python Kümesi Yöntemleri

Bazılarını yukarıda zaten kullandığımız birçok set yöntemi vardır. Set nesneleri ile kullanılabilen tüm yöntemlerin bir listesi:

YöntemTanım
Ekle()Kümeye bir eleman ekler
açık()Kümedeki tüm öğeleri kaldırır
kopyala()Kümenin bir kopyasını döndürür
fark()İki veya daha fazla kümenin farkını yeni bir küme olarak döndürür
fark_güncelleme()Bu kümeden başka bir kümenin tüm öğelerini kaldırır
atmak()Üye ise kümeden bir öğeyi kaldırır. (Öğe sette değilse hiçbir şey yapmayın)
kavşak()İki kümenin kesişimini yeni bir küme olarak döndürür
kesişim_güncelleme()Kümeyi kendisinin ve diğerinin kesişimiyle günceller
ayrık()Trueİki kümenin boş bir kesişimi varsa döndürür
altküme()TrueBaşka bir küme bu kümeyi içeriyorsa döndürür
issuperset()TrueBu küme başka bir küme içeriyorsa döndürür
pop()İsteğe bağlı bir küme öğesini kaldırır ve döndürür. KeyErrorKüme boşsa yükseltir
kaldırmak()Kümeden bir öğeyi kaldırır. Öğe üye değilse, yükseltirKeyError
simetrik_fark()İki kümenin simetrik farkını yeni bir küme olarak döndürür
simetrik_difference_update()Bir kümeyi kendisinin ve diğerinin simetrik farkıyla günceller
Birlik()Yeni bir kümedeki kümelerin birleşimini döndürür
Güncelleme()Seti kendisinin ve diğerlerinin birleşimiyle günceller

Diğer Set İşlemleri

Üyelik Testini Ayarla

Anahtar kelimeyi kullanarak bir öğenin bir kümede olup olmadığını test edebiliriz in.

Çıktı


Bir Küme İçinde Yineleme

forBir döngü kullanarak bir kümedeki her öğeyi yineleyebiliriz .


Setli Dahili Fonksiyonlar

all()any()enumerate()len()max()min(), vb. gibi yerleşik işlevler sorted()sum()genellikle farklı görevleri gerçekleştirmek için kümelerle birlikte kullanılır.

İşlevTanım
tüm()TrueKümenin tüm öğeleri doğruysa (veya küme boşsa) döndürür .
hiç()TrueKümenin herhangi bir elemanı doğruysa döndürür . Küme boşsa döner False.
numaralandırmak()Bir numaralandırma nesnesi döndürür. Kümenin tüm öğelerinin bir çift olarak indeksini ve değerini içerir.
uzun()Kümedeki uzunluğu (öğe sayısı) döndürür.
maksimum()Kümedeki en büyük öğeyi döndürür.
min()Kümedeki en küçük öğeyi döndürür.
sıralanmış()Kümedeki öğelerden yeni bir sıralanmış liste döndürür (kümenin kendisini sıralamaz).
toplam()Kümedeki tüm öğelerin toplamını döndürür.

Python Dondurulmuş Küme

Frozenset, bir kümenin özelliklerine sahip yeni bir sınıftır, ancak öğeleri atandıktan sonra değiştirilemez. Tuple’lar değişmez listeler iken, frozenset’ler değişmez kümelerdir.

Değişken olan kümeler, karıştırılamaz, bu nedenle sözlük anahtarları olarak kullanılamazlar. Öte yandan, donmuş kümeler yıkanabilir ve bir sözlüğün anahtarı olarak kullanılabilir.

Frozensets, frozenset() işlevi kullanılarak oluşturulabilir .

Bu veri türü copy()difference()intersection()isdisjoint()issubset()issuperset()ve gibi yöntemleri symmetric_difference()destekler union(). Değişmez olduğu için eleman ekleyen veya çıkaran yöntemlere sahip değildir.

Bu örnekleri Python kabuğunda deneyin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.