Anasayfa Bloglar Python ile Veri Yapıları
Coderspace Pro Coderspace Pro

Python ile Veri Yapıları

6 Dakika Okuma Süresi · 15.02.2026
Blog Small Image

Bu içeriği yapay zeka ile özetle!

Veri yapıları, verileri verimli bir şekilde saklama, yönetme ve düzenleme yöntemleridir. 

Veriler arasındaki ilişkiyi ve veriler üzerinde gerçekleştirilebilecek işlemleri tanımlarlar. Veri yapılarını anlamak, optimize edilmiş ve ölçeklenebilir kodlar yazmak için oldukça önemli. 👌

Veri bilimcilerinin ve bilgisayar mühendislerinin, veri tanımlama ve erişim detaylarında kaybolmak yerine, daha büyük sorunların çözümüne odaklanmasına yardımcı olan birçok farklı veri yapısı türü bulunur. 

Veri yapıları söz konusu olduğunda herkese uyan tek bir model yoktur. İhtiyaca göre verileri farklı şekillerde saklamak gerekebilir. 

Bazen tüm veri türleri tek bir yerde tutmak isteyebilirsin, bazen daha hızlı veri aramaya ihtiyaç duyabilirsin.

Neyse ki Python, verileri kolayca organize etmemizi sağlayan birçok yerleşik veri yapısına sahiptir. Bu nedenle, verilerle çalışmaya başlamadan önce bu veri yapılarını anlamak oldukça önemli. 

Bunlara geçmeden önce bu konuları öğrenmek için inceleyebileceğin birkaç kaynak bırakmak istiyoruz. Bizce göz atmanda fayda var ✍️

  • Temel veri yapılarını örneklerle öğrenmek istiyorsan Python Data Structures videolarını ücretsiz bir şekilde izleyebilirsin.
  • Temel veri yapılarını ve algoritma temellerini öğrenmek istiyorsan freeCodeCamp’in bu eğitim videosuna göz atabilirsin. 
  • Python’da temel veri yapılarını baştan sona örneklerle anlatan bu video yararlı olabilir.
  • Basit ve adım adım anlatımlı örnekler için W3Schools oldukça iyi.
  • Ve son olarak tabii ki Python resmi dokümantasyonu 

 

 

Python’da Veri Yapıları

Yukarıda veri yapılarının ne olduğunu ele aldık. Şimdi yazımızın ana konusa doğru ilerleyelim 🚶‍♂️‍➡️, Python’da veri yapılarının ne olduğunu inceleyelim. 

Python’daki veri yapıları, verileri etkili bir şekilde düzenlemek, depolamak ve yönetmek için kullanılan temel yapılardır. 

Basitliği ve okunabilirliğiyle popüler olan Python, bir listedeki öğeleri düzenlemekten bir grafikteki karmaşık ilişkileri yönetmeye kadar developer’ların verileri temiz ve verimli bir şekilde işlemesine yardımcı olan çeşitli güçlü veri yapıları sunar. 

Bu verileri yapılarını temelde

  • Yerleşik (Built-in) veri yapıları
  • Kullanıcı tanımlı (User-defined) veri yapıları

olmak üzere ikiye ayırıyoruz.

Yerleşik (Built-in) Veri Yapıları

Yerleşik veri yapıları, Python’un standart kütüphanesi tarafından sağlanan temel araçlardır. Bu yapılar neredeyse her Python programında karşımıza çıkar ve kullanılır. 

Yerleşik veri yapıları şöyle:

  • Listeler (Lists)
  • Demetler (Tuples)
  • Sözlükler (Dictionaries)
  • Kümeler (Sets)

Her yerleşik veri yapısının kendine özgü güçlü yönleri ve kullanım alanları vardır. 

Örneğin, listeler değiştirilebilir elemanlardan oluşan sıralı bir yapı gerektiğinde oldukça kullanışlıdır. Kümeler ise tekrar eden verileri ortadan kaldırmak veya matematiksel küme işlemleri yapmak için idealdir.

Kullanıcı Tanımlı (User-defined) Veri Yapıları

Yerleşik veri yapıları güçlü olsa da, daha karmaşık veya özel problemleri çözmek için her zaman yeterli olmayabilir. Bu gibi durumlarda Python, developer’ların sınıflar (classes) kullanarak kendi veri yapılarını oluşturmasına olanak tanır. 

Kullanıcı tanımlı veri yapıları, verilerin nasıl saklandığı ve erişildiği üzerinde daha fazla kontrol sağlar.

Kullanıcı tanımlı veri yapıları ise şöyle:

  • Diziler (Arrays)
  • Bağlı Listeler (Linked Lists)
  • Yığınlar (Stacks)
  • Kuyruklar (Queues)
  • Ağaçlar (Trees)
  • Grafikler (Graphs)
  • Hash Map’ler (Hashmaps)

 

Python'da Yerleşik Olarak Bulunan Veri Yapıları Nelerdir?

İlk olarak yerleşik veri yapılarıyla başlayalım.

1. Python’da Listeler

Listeler, sıralı bir öğe koleksiyonu içeren bir veri yapısı türüdür. 

Python'da en yaygın kullanılan veri yapılarından biridir ve diğer listeler de dahil olmak üzere farklı veri türlerindeki öğeleri saklayabilir. 

Listeler değiştirilebilir yapıdadır. Yani liste oluşturulduktan sonra bile öğeler eklenebilir, taşınabilir ve silinebilir.

📍 Listeler, öğeleri [ ] köşeli parantezler içine alarak oluşturur ve her öğe virgülle ayrılır:

Listeleri şu durumlarda ihtiyaç duyduğunda kullanabilirsin:

  • Sıralı veri depolama
  • Listenin sonuna hızlıca öğe ekleme
  • Yinelenen değerler için destek

Örnek olarak bir alışveriş uygulamasında kullanıcıların sepetindeki ürünleri saklamayı verebiliriz. 

 

2. Python’da Demetler

Python'da çok popüler olan bir diğer yerleşik veri yapısı da demetlerdir. 

Python'da demet (tuple), sıralı ve değiştirilemez bir eleman koleksiyonudur. 

Demetler, listelere benzer ancak aralarında tek bir fark var. İkisi arasındaki temel fark, demetin değiştirilemez olmasıdır. Yani tanımlandıktan sonra değiştirilemez veya silinemezler. Değiştirilemez oldukları için daha sınırlı işlevselliğe sahiptirler.

Demetler, bir kullanıcının bir nesneyi ömrü boyunca bozulmadan tutmayı ve verilerin değiştirilmesini veya eklenmesini önlemeyi amaçladığı durumlarda en iyi sonucu verir.

📍 Parantez ( ) içine değerler yazarak ve her elemanı virgülle ayırarak demetler oluşturabilirsin.

 

3. Python’da Kümeler

Bazen listende veya demetinde aynı öğenin birden fazla kez bulunmasını istemeyebilirsin. İşte bu noktada küme veri yapısını kullanabilirsin. 

Küme, yalnızca benzersiz değerler içeren, sıralanmamış ancak değiştirilebilir bir öğe koleksiyonudur.

Nesne koleksiyonu içinde bulunması gerektiğinde ve sırası veya görünme sayısı önemli olmadığında kullanılır.

Kümeleri şu durumlarda kullanabilirsin:

  • Benzersiz öğelere ihtiyacın var (aynı e-postaları filtrelemek gibi)
  • Birleşim ve kesişim gibi matematiksel küme işlemleri gerekli

 

4. Python’da Sözlükler

Python’da sözlükler, anahtar-değer çiftleri olarak veri depolayan, değiştirilebilir koleksiyonlardır. 

Her anahtar benzersizdir ve ilişkili değerine erişmek için kullanılabilir. 

Sözlükler, yapılandırılmış verileri temsil etmek ve hızlı aramalar gerçekleştirmek için inanılmaz derecede güçlüdür. 

Python’da sözlüklerde anahtar–değer çiftleri noktalı virgül (;) ile değil, iki nokta (:) ile ayrılır.

📍 Çiftlerin kendisi ise virgül ( , ) ile ayrılır.

 

Python'da Kullanıcı Tanımlı Veri Yapıları

Kullanıcı tanımlı veri yapıları, developer’ların kendi özel gereksinimlerine ve ihtiyaçlarına göre oluşturduğu, bunları değiştirdiği veya sakladığı veri yapılarıdır. 

Bu veri yapıları programlama diline yerleşik değildir.

Python'ın yerleşik veri yapılarına ek olarak, yığınlar, kuyruklar, ağaçlar ve hash map’ler gibi kullanabileceğimiz kullanıcı tanımlı veri yapısı mevcut.

Şimdi Python'daki farklı kullanıcı tanımlı veri yapılarına göz atalım.

  • Bağlı Listeler (Linked Lists): Bağlı listeler, düğüm (node) adı verilen elemanlardan oluşan doğrusal veri yapılarıdır. Her düğüm veri ve pointer olmak üzere iki bölümden oluşur. Listelerden farklı olarak, bağlı listelerde elemanlar ardışık bellek konumlarında tutulmaz. Bu sayede, araya eleman eklemek veya eleman silmek için diğer elemanları kaydırmaya gerek kalmaz. Sık sık eleman ekleme ve silme işlemi yapılıyorsa, veri boyutu sürekli değişiyorsa ve bellek esnekliği önemliyse bağlı listeleri kullanabilirsin. 
  • Yığınlar (Stacks): Yığınlar, son giren ilk çıkan (LIFO) prensibine dayanan doğrusal veri yapılarıdır. Yani en son eklenen eleman, ilk çıkarılan elemandır.
  • Kuyruklar (Queues): Kuyruklar, ilk eklenen eleman, ilk çıkarılan elemandır. Günlük hayattan bir örnek vermek gerekeceksek banka veya market kuyruğunu örnek verebiliriz.
  • Ağaçlar (Trees): Ağaçlar, hiyerarşik yapıya sahip veri yapılarıdır. Bir kök (root) düğümle başlar ve her düğümün bir veya daha fazla alt düğümü olabilir. Dosya sistemleri, organizasyon şemaları, XML / HTML dokümanları ve veri tabanı indeksleme gibi işlemlerde kullanılır. 
  • Grafikler (Graphs): Grafikler, düğümler (nodes) ve kenarlardan (edges) oluşur. Düğümler arasındaki ilişkileri temsil eder ve doğrusal olmayan veri yapılarıdır.
  • Hash Map’ler: Hash map’ler, verileri anahtar–değer (key–value) çiftleri halinde depolayan veri yapılarıdır. Anahtarlar aracılığıyla değerlere hızlı erişim sağlar.

 

Doğru Veri Yapısını Seçmek

Bu yazımızda Python'da veri yapılarının temellerini ele aldık. Veri yapılarını anlamak ve etkili bir şekilde kullanmak oldukça önemli bir konu. 

Tabii bir de belirli programlama ihtiyaçlarına göre doğru veri yapısını nasıl seçeceğin konusu da var. Bu konuyu da aşağıdaki tabloda özetlemeye çalıştık. 👇

İhtiyaç

Önerilen Veri Yapısı

Anahtar üzerinden hızlı erişim

Sözlük

Ekleme sırasını korumak

Liste

Benzersiz öğeler saklamak

Küme

Geri alma / yeniden yapma 

Yığın

Görev sıralaması (FIFO)

Kuyruk

Hiyerarşik veri

Ağaç

Ağ bağlantıları veya haritalar

Grafik

Değiştirilemez dizi 

Demet

Bu içeriği yapay zeka ile özetle!

İÇERİKLER
Konu içeriği

Python ile Programlamaya Giriş Veri bilimi, yazılım ve analitik dünyasının temel dili Python’u sıfırdan öğren. Veri dünyasına ilk adımını at! Hemen İncele!
SIKÇA SORULAN SORULAR
Python'da 4 temel veri yapısı nedir?

Listeler, Demetler (Tuple), Setler (Kümeler) ve Sözlükler (Dictionary) Python’da en çok kullanılan dört yerleşik veri yapısıdır.

Python veri yapıları için iyi bir dil mi?

Kesinlikle! Python, veri yapıları ve algoritmalar öğrenmek için harika bir seçim.

Python’da liste yerine set (küme) ne zaman kullanmalı?

Benzersiz öğeler saklaman gerekiyorsa ve öğelerin sırası önemli değilse, liste yerine set kullan.

Python ile Programlamaya Giriş Veri bilimi, yazılım ve analitik dünyasının temel dili Python’u sıfırdan öğren. Veri dünyasına ilk adımını at! Hemen İncele!

Önerilen İçerikler

Tüm İçerikler

Açık Etkinlikler

Tüm Etkinlikler
Aktek Bilişim Genç YetenekliO Programı
Aktek Bilişim Genç YetenekliO Programı

🚀 Aktek Bilişim, Genç YetenekliO Programı ile genç yetenekleri bekliyor!

Yetenek Programı
  • Son Başvuru 31 Mayıs
Detaylı Bilgi
Togg Beyonder
Togg Beyonder

We Only Achieve Togg’ether

Yetenek Programı
  • Son Başvuru 31 Mayıs
Detaylı Bilgi
Teknoloji Zirvesi
Teknoloji Zirvesi

Türkiye’nin önde gelen şirketleri; yazılım, veri, güvenlik ve inovasyon odağında öğrenci ve yeni mezunlarla buluşuyor.

Meet-up
  • Son Başvuru 10 Haziran
  • Başlangıç 10 Haziran
  • Bitiş 10 Haziran
Detaylı Bilgi
Tüm Etkinlikler

Codecast: Yazılımcı Sohbetleri

Farklı alanlardan konuklarımızın katılımlarıyla gerçekleşen Codecast’te yazılım ve veri bilimi yöneticilerini Podcast serimizde konuk ediyoruz!