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

Dictionaries


  • Listeler bize bir arada tutulması anlamlı olacak verileri bir arada tutma gücü verir.


  • Mesela bir sınıftaki 3 öğrencinin sınavdan aldıkları notlar:


notlar = [80,72,95]


  • Bu listedeki 1. eleman ilk öğrenciyi, 2. eleman 2. öğrenciyi, 3. eleman...


  • Ben aynı zamanda bu öğrencilerin isimlerini de tutmak istiyorsam, isimleri için ayrı bir liste oluşturmam lazım. Kuracağım mantık için bu iki listenin eleman sayısı aynı olmalı. notlar[0] bana ilk öğrencinin notunu, isim[0] bana ilk öğrencinin notunu verecek.


isim = ["Deniz", "Ege", "Gizem"]


isim[0]


'Deniz'



notlar[0]


80



print(isim[0], "adlı öğrencinin notu", notlar[0])


Deniz adlı öğrencinin notu 80


  • Öğrenci numaralarını tutmak istiyorsam bunu için de ayrı bir liste oluşturmam lazım.


no = [703, 408, 690]



isim[0]


notlar[0]


no[0]


  • Her farklı bilgi için yeni bir liste oluşturmam gerekiyor.


  • Aynı elemanı ifade eden mantıklar listeler arası aynı indexte tutuluyor. (isim[0]'ın notu notlar[0])


  • Bu yapılabilir ama optimal olmayan bir yaklaşım. Karışıklık çıkması çok muhtemel.


  • İstediğim kısmı almanın daha kolay bir yolu olabilir mi? Sadece bir veri yapısı kullansam... Ayrı ayrı listeler kullanmasam...


  • Evet bunu yapabiliriz! Bunun için dictionary veri yapısını göreceğiz.


  • Dictionary yapısının elemanlarına erişmek için belirli keyler kullanacağız ve o da bize value'lar verecek.


  • dictionary'leri süslü parantez {} ile belirteceğiz.


  • Formumuz {key1:value1, key2:value2...} şeklinde olacak.


  • Elemanlarına ulaşmak için öbür non-scalar veri tiplerinde yaptığımız gibi [] kullanacağız. Ama - dictionary'lerin elemanlarına ulaşmak için belirlediğimiz keyleri kullanacağız, integer indexing değil.


  • dictionary'lerin keyleri immutable herhangi bir yapıda olabilir. value'lar mutable da immutable da olabilir. int, float, bool, string, list, tuple, set, even dictionaries itself!


notlar = {"Deniz": 80, "Ege":72, "Gizem": 95}


notlar["Ege"]


72



notlar["Gizem"]


95


ogrenciler = {"Deniz": {"not":80, "ogrenci_no":703}, "Ege":{"not":72, "ogrenci_no":408}, "Gizem": {"not":95, "ogrenci_no":690}}


ogrenciler["Ege"]


{'not': 72, 'ogrenci_no': 408}


ogrenciler["Ege"]["not"]


72



ogrenciler["Ege"]["ogrenci_no"]


408


Olmayan Bir Eleman Sorgulamak


  • Olmayan bir key ile eleman sorgusu yaparsak hata alırız.


notlar


{'Deniz': 80, 'Ege': 72, 'Gizem': 95}


notlar["Mert"]


---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-28-34561f410cad> in <module>
----> 1 notlar["Mert"]

KeyError: 'Mert'


Integer Indexing ile Eleman Sorgusu Yapmak


  • Dictionary'ler key-value mantığı ile çalışıyor. O yüzden biz notlar[0] gibi bir sorgu yaptığımızda, 0 diye bir key var mı diye bakıyor yoksa hata veriyor.


notlar[0]


---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-22-f9b97209b450> in <module>
----> 1 notlar[0]

KeyError: 0


Value Değerlerini Değiştirmek


  • Diyelim ki Ege'nin notu yanlış okunmuş, notunu 5 puan arttıracağız.


notlar


{'Deniz': 80, 'Ege': 72, 'Gizem': 95}


notlar["Ege"] = notlar["Ege"] + 5



notlar["Ege"]


77


notlar



{'Deniz': 80, 'Ege': 77, 'Gizem': 95}


len()


  • len() fonksiyonunu dictionary'lerde kullandığımız zaman bize kaç tane key varsa onun sayısını veriyor.


notlar


{'Deniz': 80, 'Ege': 77, 'Gizem': 95}


len(notlar)



3


Eleman Eklemek


  • Dictionary'lere eleman eklemek gerçekten kolay. Tamam yazmayı bırakıp direkt göstereyim:


notlar



{'Deniz': 80, 'Ege': 77, 'Gizem': 95}


notlar["Mert"] = 58



notlar



{'Deniz': 80, 'Ege': 77, 'Gizem': 95, 'Mert': 58}


  • Dictionary'ye sorgu yapıyor gibi yazıyoruz, ve value'si olmasını istediğimiz değeri de soluna yazıyoruz.


Eleman Silmek


notlar



{'Deniz': 80, 'Ege': 77, 'Gizem': 95, 'Mert': 58}


  • Eleman silmeyi del keyword'ü ile yapabiliriz.


del notlar["Mert"]


notlar



{'Deniz': 80, 'Ege': 77, 'Gizem': 95}


Sadece Immutable Tipindeki Veriler key olabilir

d = {1:2, 3:"b"}


d[1]


2



d[3]


'b'



d2 = {(1,2):"a", (4,5): [1,2,3]}


d2[(1,2)]


'a'



d2[(4,5)]


d3 = {[1,2]:4}


---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-48-304c7804ca22> in <module>
----> 1 d3 = {[1,2]:4}

TypeError: unhashable type: 'list'


Boş Bir Dictionary Yaratmak


d = {}


d



{}


d[1] = "a"



d


{1: 'a'}


Bir Değer Keyler Arasında Var mı Sorgusu Yapmak


  • Bir elemanın dictionary içinde olup olmadığını sorgulamak, list ve tuple'lerde sorgulamaktan daha hızlıdır.


notlar


{'Deniz': 80, 'Ege': 77, 'Gizem': 95}


"Mert" in notlar


False



"Deniz" in notlar


True


Quiz

Answer the questions to check your understanding.

This lesson includes a short quiz.

Hackerrank challenge

Join the challenge to submit your solution.
Dictionary (sözlük)'leri öğrendin, şimdi challenge zamanı! Hackerrank profili aç ve [şu challenge’ı](https://www.hackerrank.com/challenges/defaultdict-tutorial/problem) yap: Python Temel dersini tamamlaman için en sonunda Hackerrank’te Python alanında en az 4 yıldıza ulaşman gerekiyor. Bu challenge’lar seni yıldızlara adım adım götürecek! :) Challenge’ı yapıp Hackerrank profilinin linkini aşağıdaki kutucuğa yaz:
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