Sets - Learn Python 3 - Snakify

Lesson 10
Setler


1. Bir set nedir

Python yer alan matematik setleri için bir veri yapısı eşdeğerdir. Çeşitli unsurlardan oluşabilir; bir kümedeki öğelerin sırası tanımsızdır. Bir kümenin elemanlarını ekleyebilir ve silebilir, kümenin elemanlarını yineleyebilir, kümelerdeki standart işlemleri gerçekleştirebilirsiniz (birlik, kesişme, fark). Bunun yanı sıra, bir elemanın bir kümeye ait olup olmadığını kontrol edebilirsiniz.

Öğelerin sıralı olarak saklandığı dizilerden farklı olarak, bir kümedeki öğelerin sırası tanımlanmamıştır (ayrıca, ayarlanan öğeler genellikle kümedeki görünüm sırasına göre depolanmaz; bu, bir elemanın daha hızlı bir kümeye ait olup olmadığını kontrol etmeyi sağlar. sadece kümenin tüm unsurlarını ele almaktan).

Herhangi bir değişmez veri tipi bir kümenin bir öğesi olabilir: bir sayı, bir dizi, bir tuple. Değişken (değiştirilebilir) veri tipleri kümenin öğeleri olamaz. Özellikle, liste bir kümenin (ama tuple kutunun) bir öğesi olamaz ve başka bir set bir kümenin bir öğesi olamaz. Değişmezlik gereksinimi, bilgisayarların bellekte kümeleri nasıl temsil ettiğinden yola çıkar.

Advertising by Google, may be based on your interests

2. Bir set nasıl tanımlanır

Bir kümeyi tüm öğeleri parantez içinde adlandırarak tanımlayabilirsiniz. Tek istisna, set() işlevini kullanarak oluşturulabilen boş kümedir . Eğer set(..) bir liste, bir string veya bir parametre olarak tuple varsa, elemanlarından oluşan bir set döndürecektir. Örneğin,

A = {1, 2, 3}
A = set('qwerty')
print(A)

çıktı olarak {'e', 'q', 'r', 't', 'w', 'y'} yazdıracaktır.

Unsurların sırası önemsizdir. Örneğin, program

A = {1, 2, 3}
B = {3, 2, 3, 1}
print(A == B)

True yazdırır, çünkü A ve B eşit kümelerdir.

Her eleman sete sadece bir kez girebilir. set('Hello') dört öğenin setini döndürür: {'H', 'e', 'l', 'o'} .

Advertising by Google, may be based on your interests

3. Elemanlarla işlemler

len eleman sayısını len fonksiyonunu kullanarak alabilirsiniz.

Ayrıca setin tüm unsurları adımlayabilirsiniz döngü kullanarak (tanımlanmamış bir sırayla!) for :

primes = {2, 3, 5, 7, 11}
for num in primes:
    print(num)

Bir eleman anahtar kelime kullanarak grubuna ait olup olmadığını kontrol edebilirsiniz in gibi ifadeler: a in A dönüş türü değerini bool . Benzer şekilde, tersi işlem not in . Sete bir eleman add için yöntem add :

A = {1, 2, 3}
print(1 in A, 4 not in A)
A.add(4)

Bir öğeyi bir kümeden kaldırmak için iki yöntem vardır: discard ve remove . Davranışları, yalnızca silinmiş öğenin kümede olmaması durumunda değişir. Bu durumda yöntem discard hiçbir şey yapmaz ve yöntem KeyError atar istisnasını remove .

Son olarak, pop bir rastgele elemanı setten çıkarır ve değerini döndürür. Küme boşsa, pop , KeyError istisnasını oluşturur.

Bir işlevi fonksiyon list kullanarak list .

Advertising by Google, may be based on your interests

4. Setler üzerindeki işlemler

Python'daki setlerde iyi bilinen işlemleri nasıl gerçekleştirirsiniz:

A | B
A.union (B)
A ve B kümelerinin birleşimi olan bir kümeyi döndürür.
A | = B
A.update (B)
B kümesinin tüm öğelerini A kümesine ekler.
A & B
A.intersection (B)
A ve B kümelerinin kesiştiği bir seti döndürür.
A & = B
A.intersection_update (B)
Set içinde bırakır A dizi aittir sadece öğeler B .
A - B
A.difference (B)
Grubu farkı döndürür A ve B (elemanlar dahil A , ancak dahil değildir B ).
A - = B
A.difference_update (B)
B tüm elemanlarını A kümesinden A .
A ^ B
A.symmetric_difference (B)
A ve B kümelerinin simetrik farkını döndürür ( A veya B öğelerine ait olan öğeler, ancak her ikisini aynı anda ayarlamaz).
A ^ = B
A.symmetric_difference_update (B)
A ile A ve B kümelerinin simetrik farkını yazar.
A <= B
A.issubset (B)
A , B bir alt kümesi ise true değerini döndürür.
A> = B
A.issuperset (B)
B , A bir alt kümesi ise true değerini döndürür.
A <B
A <= B and A != B eşdeğerdir
A> B
A >= B and A != B eşdeğerdir
Advertising by Google, may be based on your interests