Python Veri Yapıları: Liste, Sözlük ve Set İçin Kısa Örnekler
Python Veri Yapıları

Python Veri Yapıları: Liste, Sözlük ve Set İçin Kısa Örnekler

Python Veri Yapıları

4 dk okuma süresi
Bu makalede Python veri yapıları olan listeler, sözlükler ve setler kısa tanımlar, temel özellikler ve pratik kullanım örnekleriyle anlatılmaktadır; örnekler Python 3 serisi dokümantasyonuna dayanır.
Python Veri Yapıları: Liste, Sözlük ve Set İçin Kısa Örnekler

Python Veri Yapılarına Kısa Giriş

Python Veri Yapıları, verileri düzenlemek, depolamak ve üzerinde işlem yapmak için kullanılan temel araçlardır. En çok kullanılan üç yapıyı—listeler (list), sözlükler (dict) ve setler (set)—bu rehberde kısa, uygulanabilir örneklerle açıklıyoruz. Temel açıklamalar Python resmi belgeleriyle uyumludur; detaylı teknik bilgi için Python belgelerine bakabilirsiniz (Python Veri Yapıları — 3.11 tutorial).

Genel Özet

  • Listeler: Sıralı, değiştirilebilir koleksiyonlar. Aynı değerden birden fazla bulunabilir.
  • Sözlükler: Anahtar–değer çiftleri halinde saklanan, anahtarların benzersiz olduğu ve hızlı arama için kullanıldığı koleksiyonlar.
  • Setler: Sırasız, benzersiz öğeler içeren koleksiyonlar; kümeler aritmetiği için uygundur.

Listeler (list)

Listeler, bir dizi öğeyi sıralı şekilde saklamak için kullanılır. Öğelere indeksle erişebilir, ekleme ve silme yapabilirsiniz. Listelerin temel özellikleri Python belgelerinde açıklanmıştır (Python tutorial: Data Structures).

Örnek oluşturma ve temel işlemler (kısa gösterim):

Oluşturma: `liste = [1, 2, 3]`

Eklemek: `liste.append(4)` — sonuna ekler.

İndeksleme: `liste[0]` — ilk öğe; negatif indeks `liste[-1]` son öğeyi verir.

Slicing: `liste[1:3]` — alt-listeler almak için kullanılır.

List comprehension örneği (kısaca): `kareler = [x*x for x in range(6)]` — okunaklı ve kısa bir liste oluşturma şeklidir.

İyi uygulamalar

  • Sık sık ekleme/çıkarma yapacaksanız listenin hangi ucundan işlem yaptığınıza dikkat edin; ortadan çok sık silme pahalı olabilir.
  • Veri sırasını korumak istiyorsanız liste uygundur; aynı öğe birden çok kez bulunabilir.

Sözlükler (dict)

Sözlükler, anahtar–değer çiftleriyle veri saklamaya yarar. Anahtarlar benzersiz olmalıdır ve genelde hashlenebilir (ör. integer, string, tuple gibi değişmez türler). Sözlüklerin özellikleri ve yöntemleri Python belgelerinde açıklanmıştır (Gömülü Türler — stdtypes).

Temel kullanım:

Oluşturma: `sozluk = {'ad': 'Ayşe', 'yas': 30}`

Değer okuma: `sozluk['ad']` veya güvenli okuma için `sozluk.get('ad')`

Yeni anahtar ekleme/güncelleme: `sozluk['sehir'] = 'İstanbul'`

Python 3.7 ve sonrasında sözlüklerin ekleme sırasını koruduğu belgelenmiştir; yani ekleme sırasına bağlı işlemler için bu özellikten faydalanabilirsiniz (detay için: Python stdtypes).

Kullanım örneği — frekans sayımı

Bir listedeki öğelerin kaç kere geçtiğini saymak için sözlük kullanabilirsiniz:

`counts = {}`

`for x in items:`

` counts[x] = counts.get(x, 0) + 1`

Bu yaklaşım, ek bir modül kullanmadan basit sayımlar yapmanızı sağlar.

Setler (set)

Setler, aynı öğeden yalnızca bir tane içeren, sırasız koleksiyonlardır. Kümelerle yapılan birleşim, kesişim ve fark gibi işlemler setlerle doğrudan yapılabilir. Set ve frozenset özellikleri Python belgelerinde açıklanmıştır (Python tutorial: sets).

Temel kullanım:

Oluşturma: `s = {1, 2, 3}` veya boş set için `s = set()` (boş küme süslü parantezle değil `set()` ile oluşturulur).

Eleman ekleme: `s.add(4)`

Farklı operasyonlar: `s.union(t)`, `s.intersection(t)`, `s.difference(t)`

Setler üyelik testleri için idealdir: `if x in s:` kontrolü hızlıdır ve küme yapısının doğal avantajlarından faydalanır.

Faydalı örnek — tekrarları kaldırma

Bir listeden hızlıca tekrarları kaldırmak isterseniz `unique = list(set(liste))` kullanabilirsiniz. Bu yöntem elemanların sırasını korumaz; sırayı koruyarak deduplike etmek için aşağıdaki örnek uygundur:

`seen = set()`

`result = []`

`for x in liste:`

` if x not in seen:`

` seen.add(x)`

` result.append(x)`

Bu yöntem, hem yeniden edenleri kaldırır hem de orijinal sıralamayı korur.


Kısa Karşılaştırma Tablosu

Yapı Özellik En uygun kullanım
List Sıralı, değiştirilebilir, kopyalar/indeksleme Sıra önemli olduğunda, indeks/konum bazlı işlemlerde
Dict Anahtar–değer, benzersiz anahtarlar, hızlı anahtar araması Lookup tablosu, yapılandırılmış veri (JSON benzeri)
Set Benzersiz öğeler, sırasız, küme operasyonları Üyelik testleri, küme aritmetiği, tekrarların kaldırılması

Hashable ve Performans Notları

Sözlük anahtarları ve set öğeleri hashlenebilir olmalıdır; bu nedenle genelde değişmez (immutable) türler kullanılır: sayılar, dizeler, ve değişmez tuple'lar. Değiştirilebilir türler (ör. list) doğrudan anahtar veya set öğesi olamaz. Veri modelinin detayları için Python dokümantasyonundaki data model sayfasına bakabilirsiniz.

Genel olarak sözlük ve set işlemleri hashing kullandığı için üyelik testleri ve anahtar aramaları uygulamada hızlıdır; detaylı performans ve sıralama teknikleri için Python belgelerindeki sıralama ve veri yapıları rehberlerini inceleyin (Sıralama teknikleri).

Pratik Kontrol Listesi (Hızlı Özet)

  • Veri sırası önemliyse list kullanın.
  • Anahtar‑değer eşlemesi ve hızlı lookup gerekiyorsa dict tercih edin.
  • Tekrarlanan öğeleri kaldırmak veya küme mantığı gerekiyorsa set kullanın.
  • Sözlük anahtarları ve set öğelerinin hashable olması gerektiğini unutmayın.
  • Python sürümünüze göre bazı özellikler değişebilir; örneğin sözlüklerin ekleme sırasını koruması Python 3.7 ve sonrası için belgelenmiştir.

Sonuç ve İleri Okuma

Bu kısa rehber, Python'da listeler, sözlükler ve setler için temel kavramları ve sık kullanılan örnekleri özetler. Daha derin teknik ayrıntılar, performans tartışmaları ve tüm metodların listesi için resmi Python dokümantasyonunu incelemenizi öneririm: Data Structures — Python Tutorial, Built-in Types — stdtypes ve Data Model.

Yorumlar

Henüz yorum yapılmamış. İlk yorumu sen yaz.