Python Sözlükleri: Yapı ve Karma Haritalar

Python Sözlüklerinde ustalaşın. Anahtar/değer çifti verilerini depolamayı, almayı ve işlemeyi öğrenin. Eşlemelere ilişkin performansı ve en iyi uygulamaları anlayın.

Editör'de deneyin

Genel Bakış

Sözlükler Python'daki tartışmasız en önemli ve optimize edilmiş veri yapısıdır. Sözlük, "anahtar:değer" çiftlerinde saklanan, değiştirilebilir veri değerleri topluluğudur. Gerçek dünya sözlüğünü hayal ediyorsanız, "anahtar" aradığınız kelimedir ve "değer" de tanımdır. Bu eşleştirme yapısı, ilişkisel verilerin alınmasını, güncellenmesini ve yönetilmesini inanılmaz derecede verimli hale getirir.

Python sözlükleri, yüksek düzeyde optimize edilmiş Karma Tablolar (veya Karma Haritalar) olarak uygulanır. Bu, bir değerin anahtarıyla alınmasının 'O(1)' sabit zamanlı bir işlem olduğu anlamına gelir. Sözlüğünüz ister on öğe ister on milyon öğe içersin, Python tüm koleksiyonu taramaya gerek kalmadan anında doğrudan değerin bellek adresine atlayabilir.

Bir sözlük tanımlamak için, anahtarlar ve değerler iki nokta üst üste `:` ile ayrılmış süslü parantez `{}` kullanırsınız. Anahtarlar değişmez türlerde olmalıdır (dizeler, tamsayılar veya tuple'lar gibi), yani bir listeyi sözlük anahtarı olarak kullanamazsınız. Ancak değerler kesinlikle herhangi bir şey olabilir; listeler, nesneler ve hatta derinlemesine iç içe geçmiş sözlükler dahil; bu da onları JSON benzeri veri yapılarını temsil etmek için mükemmel kılar.

Değerlere erişim köşeli parantez gösterimi (örneğin, `kullanıcı["ad"]`) kullanılarak yapılır. Ancak anahtar mevcut değilse, bu yaklaşım bir 'KeyError' atarak programın yürütülmesini anında durdurur. Profesyoneller daha güvenli kod yazmak için ".get()" yöntemini (ör. "user.get("name")") kullanır. Bu yöntem, anahtar eksikse zarif bir şekilde "Yok"u veya özel bir varsayılan değeri döndürerek gereksiz çökmeleri önler.

Tarihsel olarak Python sözlükleri tamamen düzensizdi. AncakPython 3.7 itibarıyla sözlüklerin ekleme sırasını koruyacağı resmi olarak garanti edilmektedir. Bu, `.keys()`, `.values()` veya `.items()` gibi yöntemleri kullanarak bir sözlük üzerinde yineleme yaptığınızda, öğelerin, hash haritalarının hızı ile listelerin öngörülebilirliğini birleştirerek sözlüğe ilk eklendikleri sıra ile tam olarak döndürüleceği anlamına gelir.

Kod ve Yürütme Çıkışı

İç içe geçmiş anahtar/değer çiftlerini yoğun şekilde kullanan bir kullanıcı yapılandırma profili oluşturma.

user = {
    "username": "coder123",
    "role": "admin",
    "active": True
}

user["last_login"] = "2026-04-10" # Adding a key
print(f"Username is {user['username']}")

# Iterating over key-value pairs
for key, value in user.items():
    print(f"{key}: {value}")
Terminal Çıkışı
Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10

Adım Adım Uygulama

  • REST API'lerinden JSON yanıtlarını işleme
  • Benzersiz kimlikleri büyük veri nesnelerine eşleme
  • Uygulama yapılandırma parametrelerinin saklanması

Sıkça Sorulan Sorular

Mevcut olmayan bir anahtara erişmeye çalışırsam ne olur?

Parantez gösterimini kullanmak (kullanıcı["ad"]) bir KeyError atar. Fırlatmadan Yok'u döndürmek için user.get("name") işlevini kullanın.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.