Odak modu
Set
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}
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!