Arama Tablosu Olarak Sözlükler
Hızlı erişim için anahtarları değerlere eşleyin.
Arama Tablosu Olarak Sözlükler, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
Sözlük Fikri
Bir sözlük, anahtarları değerlerle eşler; böylece tarama yapmak yerine kayıtlı bir yanıtı adıyla alabilirsiniz. Yarışma sorularındaki arama tablonuz budur. 🔑
Sabit Zamanda Erişim
Küme gibi sözlük de anahtarı hash'ler; bu nedenle okuma ve yazma işlemleri yaklaşık O(1) sürer. Yavaş doğrusal aramaların yerini almasının nedeni bu hızdır.
Sözlük Oluşturma
Anahtar-değer çiftlerini süslü parantezlerin içine yazın veya yalnızca bir çift süslü parantezle boş başlayın. Her anahtar tam olarak bir değeri gösterir.
age = {'amy': 21, 'bob': 19}
empty = {}Anahtarla Okuma
Anahtarın çevresine köşeli parantezler koyarak bir değer alın. Anahtar bir indis gibi davranır, ancak dize, sayı veya demet olabilir.
print(age['amy'])Eksik Anahtarlar Çöker
Olmayan bir anahtarı köşeli parantezlerle okumak KeyError hatası fırlatır. Yarışmada bu durum anında çalışma zamanı hatası sonucuna dönüşür.
get ile Güvenli Okuma
Bir anahtar eksik olduğunda çökmek yerine varsayılan bir değer döndürmek için get kullanın. Belki eksik olan anahtarları okumanın güvenli yolu budur.
count = age.get('zoe', 0)Ekleme ve Güncelleme
Bir anahtara değer atamak, anahtarı ya add eder ya da eski değerin üzerine yazar. Aynı söz dizimi hem ekleme hem de güncelleme için kullanılır.
age['cara'] = 25
age['amy'] = 22Okumadan Önce Denetleyin
Bir anahtarın varlığını in ile denetlemeden ona güvenmeyin. Bu, KeyError oluşmasını önler ve mantığınızı açık tutar.
if 'bob' in age:
print(age['bob'])Değerleri Konumlarla Eşleme
Klasik bir yöntem, her değerin indisini saklayarak daha sonra bulunduğu yeri tek adımda aramanızı sağlar. Çift bulma görevleri için çok kullanışlıdır.
pos = {}
for i, v in enumerate(nums):
pos[v] = iÇiftler Üzerinde Döngü
Öğeleri kullanarak anahtarlar ve değerler üzerinde birlikte yineleme yapın. Döngünün içinde her değeri yeniden aramaktan daha temizdir.
for name, a in age.items():
print(name, a)Anahtarlar Hash'lenebilir Olmalı
Sözlük anahtarlarının hash'lenebilir olması gerekir; bu nedenle sayılar, dizeler veya demetler kullanın. Liste anahtar olamaz, ancak tam sayılardan oluşan bir demet olabilir.
seen = {(0, 0): 'start'}Hızlı Kontrol
Çökmeye yol açmadan var olmayabilecek bir anahtarı okumak istiyorsunuz.
Özet
Bir sözlük, O(1) aramalar için anahtarları değerlerle eşler. Güvenli okumalar için get kullanın ve yavaş taramaları anında yanıtlara dönüştürmek üzere indisleri saklayın. 🚀
Sıkça Sorulan Sorular
“Arama Tablosu Olarak Sözlükler” dersi ücretsiz mi?
Evet — “Arama Tablosu Olarak Sözlükler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
“Arama Tablosu Olarak Sözlükler” dersinde ne öğreneceğim?
Hızlı erişim için anahtarları değerlere eşleyin. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Arama Tablosu Olarak Sözlükler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Üyelik ve Tekilleştirme için Kümeler
- Arama Tablosu Olarak Sözlükler
- Counter ve defaultdict Uygulamada
- Bir Map ile Gruplama ve Kovalama