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.
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}")Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10Adı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
Python listeleri hakkında her şeyi öğrenin. Python'da dizileri yerel olarak nasıl oluşturacağınızı, dilimleyeceğinizi, değiştireceğinizi ve yineleyeceğinizi keşfedin.
Python Değişkenleri ve Veri Türlerinin AçıklamasıPython değişkenlerini ve temel veri türlerini (dizeler, tamsayılar, kayan noktalar, boolean'lar) anlayın. Python'da hafıza atamaya yönelik eksiksiz bir başlangıç kılavuzu.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python'da Liste Nasıl Sıralanır
Python'da sort() yöntemini ve sorted() işlevini kullanarak bir listeyi nasıl sıralayacağınızı öğrenin. Özel anahtar sıralama ve ters sıralama örneklerini keşfedin.
Python String Yöntemleri Hile Sayfası
Python dize manipülasyonu için eksiksiz bir başvuru kılavuzu. Dize özelliklerini biçimlendirme, arama, bölme, değiştirme ve denetleme konusunda uzmanlaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.