Sözlükler

Sözlükler anahtarlardan ve değerlerden meydana gelir. Anahtarlar tekil ve yeganedir. Muhakkak değer alması gerekmez.

Sözlüklerde elemanlar birden fazla değer ve anahtar barındırarak meydana gelir.

Elemanlar (,) virgül ile birbirinden ayrılır. Her bir anahtardan sonra (:) iki nokta üst üste konularak değer ataması yapılır.

Sözlük kapsamı süslü parantez ile belirlenir.

dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’}
print “dict[‘Name’]: “, dict[‘Name’]
print “dict[‘Age’]: “, dict[‘Age’]

Sözlük Güncelleme ve Değer Ekleme

Anahtara değer ataması yapılarak değer güncellemesi yapılabilir. Sözlükte olmayan yeni bir anahtar ekleyip yeni bir değer ataması yapılabilir.

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Sözlükten Değer Silme ve ya Sözlük Silme

Sözlüğü tamamen yok etmek için del ifadesi kullanılır. Sözlüğün değerlerini silmek için clear() metodu kullanılır. Tek bir anahtarı silmek için del ifadesi kullanılır.

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear(); # remove all entries in dict
del dict ; # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

Sözlük Anahtar Özellikleri

Sözlük değerlerinde herhangi bir kısıtlama yoktur. Bunlar standart nesneler veya kullanıcı tanımlı nesneler gibi herhangi bir rastgele Python nesnesi olabilir. Ancak, aynı durum anahtarlar için geçerli değil. İki temel kural vardır.

Birinci kural bir anahtar, sözlük içerisinde sadece bir kere olabilir. Eğer birden fazla tanımlanırsa, son atanan değer geçerlidir.

dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Name’: ‘Manni’}
print “dict[‘Name’]: “, dict[‘Name’]

İkinci kural ise, anahtarlar değişmez olmalıdır. Metin, sayı veri tipinde olabilir.

Sözlük Metodları

Bazı genel fonksiyonlar sözlük için de kullanılabilir.

Metod Açıklama
cmp(dict1, dict2) İki sözlüğü kıyaslar.
len(dict) Sözlükte var olan toplam elaman sayısını geri döndürür.
str(dict) Sözlüğü metin ifadesi olarak basılabilecek şekilde geri döndürür.
type(variable) Değişkenin veya sözlüğün tipini geri döndürür.

Sözlüğe özel bazı method’larda mevcuttur.

Method Açıklama
dict.clear() Sözlüğün tüm elemanlarını siler.
dict.copy() Sözlüğün gölge bir kopyasını oluşturur.
dict.fromkeys() Sözlüğün anahtarlarından yeni bir sözlük oluşturur.
dict.get(key, default=None) Sözlükte belirtilen anahtarı getirir eğer yoksa default değeri döndürür.
dict.has_key(key) Sözlükte belirtilen anahtar varsa TRUE değeri döndürür. Aksi durumda, FALSE değeri döndürür.
dict.items() Sözlükteki anahtarlar ve değer listesini döndürür.
dict.keys() Sözlükteki anahtarların listesini döndürür.
dict.setdefault(key, default=None) GET metodu ile benzer işlevi görür. Belirtilen anahtara default değeri atar.
dict.update(dict2) dict2’nin ikinin anahtar-değer eşliğine göre dict’i günceller.
dict.values() Sözlüğün tüm değerlerini döndürür.