Python programlama dilinde Sözlük (Dictionary), anahtar-değer (key-value) çiftlerinden oluşan, sırasız (Python 3.7+ sürümlerinde ekleme sırası korunur), değiştirilebilir (mutable) ve indekslenebilir bir veri yapısıdır. Listeler ve demetler (tuples) gibi koleksiyonlardan farklı olarak, sözlüklerde elemanlara sayısal indeks yerine benzersiz bir anahtar ile erişilir.
Sözlükler süslü parantez {} içinde anahtar:değer çiftleri şeklinde oluşturulur:
Örnek:
ogrenci = {"ad": "Ahmet", "numara": 12345, "bolum": "Bilgisayar"}
dict() fonksiyonu ile farklı şekillerde sözlük oluşturulabilir:
dict(ad="Mehmet", yas=25)dict([("a", 1), ("b", 2)])Sözlüğe yeni eleman eklemek veya var olanı değiştirmek için köşeli parantez kullanılır:
Örnek:
telefon_rehberi = {}
telefon_rehberi["Ahmet"] = "555-1234" # Yeni ekleme
telefon_rehberi["Ahmet"] = "555-5678" # Değeri değiştirme
sozluk["anahtar"] - Anahtar varsa değeri döndürür, yoksa hata verirsozluk.get("anahtar") - Anahtar varsa değeri döndürür, yoksa None döndürürsozluk.get("anahtar", "varsayılan") - Anahtar yoksa varsayılan değeri döndürürdel sozluk["anahtar"] - Belirtilen anahtarı ve değerini silersozluk.pop("anahtar") - Belirtilen anahtarı siler ve değerini döndürürsozluk.popitem() - Son eklenen anahtar-değer çiftini siler (Python 3.7+)sozluk.clear() - Tüm elemanları temizlerSözlükler üzerinde farklı şekillerde döngü kurulabilir:
Örnek:
urun = {"ad": "Laptop", "fiyat": 8500, "stok": 15}
for anahtar in urun: veya for anahtar in urun.keys():for deger in urun.values():for anahtar, deger in urun.items():Sözlükler, matematiksel fonksiyonlarla benzerlik gösterir. Bir sözlük, tanım kümesindeki her bir öğeyi (anahtar), değer kümesindeki bir öğeyle (değer) eşleyen bir fonksiyon gibi düşünülebilir:
\( f: A \rightarrow B \) fonksiyonu gibi, sözlük de \( \text{sozluk}: \text{anahtarlar} \rightarrow \text{değerler} \) şeklinde eşleme yapar.
ogrenci = {
"ad": "Zeynep",
"numara": "2023001",
"notlar": {"Matematik": 85, "Fizik": 90, "Kimya": 78},
"kayit_tarihi": "2023-09-15"
}
sepet = {
101: {"urun": "Mouse", "adet": 2, "fiyat": 150},
205: {"urun": "Klavye", "adet": 1, "fiyat": 350},
312: {"urun": "Monitör", "adet": 1, "fiyat": 2500}
}
Sözlük Özellikleri:
1. Bir iletişim rehberi sözlüğü oluşturun
2. Kullanıcıdan alınan verilerle dinamik sözlük oluşturun
3. İç içe sözlüklerle karmaşık veri yapıları tasarlayın
4. Sözlük metotlarını (update(), copy(), setdefault()) deneyin
📌 Not: Sözlükler, Python'da en sık kullanılan ve en güçlü veri yapılarından biridir. JSON verileriyle doğrudan uyumlu olmaları, web API'leri ve veritabanı işlemlerinde oldukça kullanışlı olmalarını sağlar.