{count, plural, one {Kurs} other {Kurs}}
Sözlük (Dictionary), Python’da yerleşik ve değiştirilebilir (mutable) bir Veri Yapısıdır. Liste (List), Küme (Set) ve Tuple’larla benzer bir yapıya sahiptir. Ancak, bir sayı dizisine göre değil, anahtarlar (keys) üzerinden indekslenir ve ilişkisel dizi (associative array) olarak düşünülebilir. Soyut düzeyde, ilişkili bir değer ile birlikte bir anahtardan oluşur. Python’da Sözlük, bir hash-table uygulamasını temsil eder.
Anahtarlar nedir?
Aşağıdaki şekilde gösterildiği gibi, anahtarlar değiştirilemez (değiştirilemeyen) veri tipleridir ve string ya da sayı olabilirler. Ancak bir anahtar, örneğin bir liste gibi değiştirilebilir bir veri tipi olamaz. Anahtarlar bir Sözlük içinde benzersizdir ve yinelenemez. Birden fazla kez kullanılırsa, sonraki girişler önceki değerin üzerine yazar.

Anahtar, değer ile bağlantı kurarak harita benzeri bir yapı oluşturur. Örneğin, görselden anahtarları çıkarırsanız, geriye yalnızca bir sayı dizisi içeren bir veri yapısı kalır. Bu nedenle sözlükler, her pozisyonda bir anahtar: değer çifti tutar.
Bir Sözlük, süslü parantez çifti {} ile gösterilir ve içinde virgülle ayrılmış anahtar: değer çiftleri bulunur.
Sözlük Oluşturma
Sözdizimi
Hatırlatma olarak, bir Sözlük oluşturmanın tarifi şöyledir:
my_dict = {
"key1":"value1",
"key2":"value2"
}
Yukarıdaki sözdiziminde hem anahtarlar hem de değerler string’dir.
Sözlük Oluşturma Örneği
pop = [30.55, 2.77, 39.21]
countries = ["afghanistan", "albania", "algeria"]
Nüfus verilerini bir Sözlüğe dönüştürelim. Sözlüğü oluşturmak için süslü parantezleri kullanacaksınız. Ardından parantezlerin içine bir dizi anahtar:değer çifti yazacaksınız. Bu durumda anahtarlar ülke adları, değerler ise karşılık gelen nüfuslardır.
İlk anahtar Afghanistan, karşılık gelen değeri ise 30.55’tir. Anahtar ve değer çiftini ayıran iki noktaya dikkat edin. Diğer iki anahtar:değer çifti için de aynısını yapalım ve sonucu world değişkeninde saklayalım.
Artık Arnavutluk’un nüfusunu bulmak için, world yazıp köşeli parantez içinde Albania string’ini girmeniz yeterli. Başka bir deyişle, köşeli parantez içinde anahtarı verirsiniz ve karşılık gelen değeri alırsınız.
world = {"afghanistan":30.55, "albania":2.77, "algeria":39.21}
world["albania"]
2.77
Bu yaklaşım yalnızca sezgisel değil, aynı zamanda çok verimlidir; çünkü Python, çok büyük sözlüklerde bile bu anahtarları çok hızlı arayabilir.
Etkileşimli Sözlük Oluşturma Örneği
Aşağıdaki örnekte, countries ve capitals içindeki string’leri kullanarak 4 anahtar:değer çiftine sahip europe adlı bir Sözlük oluşturacaksınız. Burada countries anahtarlar, capitals ise değerler olacaktır. Büyük/küçük harfe dikkat edin! Her yerde küçük harf kullandığınızdan emin olun. Son olarak sonucu görmek için europe’u yazdırın.
# Ülkeler ve başkentlerin tanımı
countries = ['spain', 'france', 'germany', 'norway']
capitals = ['madrid', 'paris', 'berlin', 'oslo']
# countries ve capitals içindeki string’lerden europe sözlüğünü oluşturun
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin', 'norway':'oslo'}
# europe’u yazdırın
print(europe)
Yukarıdaki kodu çalıştırdığınızda aşağıdaki sonucu üretir:
{'norway': 'oslo', 'germany': 'berlin', 'france': 'paris', 'spain': 'madrid'}
Python’da sözlükler hakkında daha fazla bilgi için, Orta Düzey Python kursumuzdaki bu videoya bakın.
Bu içerik, Hugo Bowne-Anderson’ın hazırladığı DataCamp’in Orta Düzey Python kursundan alınmıştır.
