Cohorts
  • Discover
  • About Us
  • Blog
  • Patika.dev
  • Web3

Python Temel

Programlama Nedir?
Jupyter Notebook
Temel Veri Tipleri
Değişken Atama
Kafa Karışıklığı
Operatörler ve İfadeler

Stringler
Stringler Üzerinde Operatörler
Stringlerde İndexleme
Stringlerde Casting

Input

Koda Yorum Ekleme

Sayısal Verilerde Karşılaştırma
Stringlerde Karşılaştırma
Mantıksal Operatörler
Short-circuit
Short-circuit Olmayan Mantıksal Operatörler

If-else-elif
Ternary Conditionals

Döngüler
while
for
Continue-Break

List
Tuple
in
Dictionary
Set
Non-scalar Veri Tiplerinde For
Split-Join
List Comprehension
Variable Unpacking
Enumerate-Zip

Fonksiyonlar
return
Comment-Fonksiyon
Birden Fazla Değer Döndürme/input İçerme
Predefined Parameters
Update Input
First Class Function
For-Function

Underscore Placeholder

fstring

Proje

Set


  • Setleri kümeler olarak düşünebiliriz.


  • Sadece özgün değerleri tutan, içerisinde bir eleman var mı yok mu, başka bir setle hangi elemanları farklı gibi işlemleri performanslı bir şekilde yapabileceğimiz bir veri yapısıdır.


  • Dictionary'ler gibi eleman sorgusu yapmak hızlıdır. Dictionarylerde key-value çift olarak bulunduğu için aynı uzunluktaki bir setten daha fazla yer kaplar.


  • Setler indexlenemez.


  • Setler mutable'dır.


Set yaratma


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}


  • Boş set yaratma:


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)


Setler Sadece Özgün Değerlerden Oluşur


  • Setin içinde bir elemanı birden çok göremezsiniz.


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', 'ı'}


len()


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


Setler Indexlenemez


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


Set'e Eleman Ekleme


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}


Set'ten Eleman Silmek


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}


Difference (fark)


  • Evet geldik şimdi kümelerdeki fark konusuna. s1 kümesi ile s2 kümesinin farkına bakacağız. (s1 – s2) veya (s1 \ s2)


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}



Symmetric Difference


  • s1'in s2 den farkı ile s2'nin s1 den farkının birleşimi. (s1 \ s2) U (s2 \ s1) - > s1 U s2 - (s1 n s2)


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}


Intersection (kesişim)


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}


Union (Birleşim)


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}


Disjoint Sets

  • s1 ∩ s2 = Ø olup olmadığını kontrol eder
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


Subset (Alt küme)

  • s1.issubset(s2), s1'in s2'nin alt kümesi olup olmadığını kontrol eder
s1


{1, 5, 10}


s2


{2, 3, 5}


s1.issubset(s2)


False


s3 = set([2,5])


s3


{2, 5}


s3.issubset(s2)


True


Superset (üst küme)

  • s2.issuperset(s3) s2'nin s3'ün üst kümesi olup olmadığını sorgular
s1


{1, 5, 10}


s2


{2, 3, 5}


s3


{2, 5}


s2.issuperset(s3)


True


s2


{2, 3, 5}

Quiz

Answer the questions to check your understanding.

This lesson includes a short quiz.

Previous
Next

Lesson discussion

Swap insights and ask questions about “Python Temel”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
Cohorts
WebsiteDiscoverBlogPatika.devRise In
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://cohorts.patika.dev is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://cohorts.patika.dev disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Cohorts, All rights reserved