Odak modu
set
ten daha fazla yer kaplar.mutable
'dır.s = {1,2,3,4,5}
s
{1, 2, 3, 4, 5}
s2 = {1,2,2,2,1,4,5,6}
s2
{1, 2, 4, 5, 6}
a = {}
type(a)
dict
s = set()
s
set()
l = [1,2,3,4]
s = set(l)
s
{1, 2, 3, 4}
l = [1,2,3,4,1,2]
set(l)
{1, 2, 3, 4}
# Boş bir seti {} ile yaratamayız,çünkü bu boş bir dictionary yaratmak için ayrılmış
s = {}
type(s)
l = [1,2,3,4,1,2]
# Sadece farklı değerlerden `s` yi oluşturacak.
s = set(l)
s
t = (1,2,3,4,1)
s = set(t)
s
{1, 2, 3, 4}
message = "Merhaba, orda mısın?"
# Strinleri kullanarak da set oluşturabiliriz.
s = set(message)
# " " (boşluk) karakterini de sayıyor.
# setler sıralı değildir.
s
{' ', ',', '?', 'M', 'a', 'b', 'd', 'e', 'h', 'm', 'n', 'o', 'r', 's', 'ı'}
s = set([1,2,3,4,5])
s
{1, 2, 3, 4, 5}
len(s)
5
t = (1,2,3,3,2)
set(t)
{1, 2, 3}
len(set(t))
3
s
{1, 2, 3, 4, 5}
s[0]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-61-c9c96910e542> in <module>
----> 1 s[0]
TypeError: 'set' object is not subscriptable
s = {1, 2, 3, 4, 5}
s.add(6)
s
{1, 2, 3, 4, 5, 6}
# Bu kod bir error vermeyecek, ama 5 zaten sette olduğu için eklemeyecek de
s.add(5)
s
{1, 2, 3, 4, 5, 6}
s
{1, 2, 3, 4, 5, 6}
s.remove(2)
s
{1, 3, 4, 5, 6}
# add()'in aksine, remove() hata veriyor.
s.remove(9)
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-70-6bd3b47dfec1> in <module>
1 # add()'in aksine, remove() hata veriyor.
----> 2 s.remove(9)
KeyError: 9
s
{1, 3, 4, 5, 6}
# Eğer silmek istediğimiz eleman yoksa hata almak istemiyorsak, discard()'ı kullanabiliriz.
s.discard(10)
s
{1, 3, 4, 5, 6}
s.add(10)
s
{1, 3, 4, 5, 6, 10}
s.discard(10)
s
{1, 3, 4, 5, 6}
s1 = set([1,5,10])
s2 = set([2,5,3])
# s1 in hangi elemanları s2 den farklıdır.
s1.difference(s2)
{1, 10}
# '-' operatörü setlerde kullanıldığında bize farkı verir.
s1 - s2
{1, 10}
# s2 nin hangi elemanları s1 den farklıdır
s2.difference(s1)
{2, 3}
s2 - s1
{2, 3}
U -> Birleşim
n -> kesişim
s1
{1, 5, 10}
s2
{2, 3, 5}
# (s1 \ s2) U (s2 \ s1) - > A U B - (A n B) s1.symmetric_difference(s2)
{1, 2, 3, 10}
# (s2 \ s1) U (s1 \ s2) same as (s1 \ s2) U (s2 \ s1) s2.symmetric_difference(s1)
{1, 2, 3, 10}
s1
{1, 5, 10}
s2
{2, 3, 5}
s1.intersection(s2)
{5}
s2.intersection(s1)
{5}
# `&` operatörü setlere uygulanınca kesişim olur
s1 & s2
{5}
# Bu işlem kesişim ile aynı sonucu verecek
s1 - (s1-s2)
{5}
s1
{1, 5, 10}
# kesişim yapıp s1 in değerini buna günceller
s1.intersection_update(s2) # s1 = s1.intersection(s2)
s1
{5}
s1 = set([1, 5, 10])
s1
{1, 5, 10}
s2
{2, 3, 5}
s1.union(s2)
{1, 2, 3, 5, 10}
s1
{1, 5, 10}
s1.union(s1)
{1, 5, 10}
s1
{1, 5, 10}
s2
{2, 3, 5}
s3 = set([12,11])
s3
{11, 12}
# s1 ∩ s2 ≠ Ø(boş küme) değil, o yüzden False döner
s1.isdisjoint(s2)
False
s2.isdisjoint(s1)
False
s1.isdisjoint(s3)
True
len(s1.intersection(s2)) == 0
False
s1
{1, 5, 10}
s2
{2, 3, 5}
s1.issubset(s2)
False
s3 = set([2,5])
s3
{2, 5}
s3.issubset(s2)
True
s1
{1, 5, 10}
s2
{2, 3, 5}
s3
{2, 5}
s2.issuperset(s3)
True
s2
{2, 3, 5}
Yazılım Kariyerinde İlerlemeni Hızlandıracak Programlar
Patika+ programlarımız ile 4-8 aylık yoğun yazılım kamplarına katıl, temel bilgilerden başlayarak kapsamlı bilgiler edin, yazılım kariyerine başla!
Yorum yapabilmek için derse kayıt olmalısın!