07.5. Dictionary (Sözlük)

Bir anahtar üzerinden aramayı en kısa sürede yapmak için Dictionary veri türü en uygun veri yapısıdır. Anahtar ve değer çiftlerinden oluşur. Anahtar ve değer birbirinden “:” ile ayrılırken tüm nesneler birbirinden “,” ile ayrılır. Anahtar değer ikinci defa tekrarlanamaz, ancak değeri güncellenebilir.

7.5.1. Değerlere erişim

Verilere eişimek için köşeli parantezlerin arasına anahtar değer yazılır. Örneğin,

7.5.2. Değerleri güncelleme

Anahtar değer üzerinden değer güncellenebilir. Örneğin,

Ayrıca, örneğin 2. satırında olduğu gibi yeni anahtar tanımlanıp değeri atanabilir.

7.5.3. Bir sözlük öğesini silme

Tek tek sözlük öğelerini kaldırabilir veya bir sözlüğün tüm içeriğini temizleyebilirsiniz. Tüm sözlüğü tek bir işlemle de silebilirsiniz.

7.5.4. Dictionary anahtarlarının özellikleri

Dictionary değer kısmının herhangi bir veri türü kısıtlaması yoktur. Standart nesneler veya yarattığımız herhangi bir nesne gibi rastgele bir Python nesnesi olabilirler. Ancak, aynı durum anahtarlar için de geçerli değildir. Anahtar kuralları:

  • Bir anahtar değere birden fazla değer atamasını önerilmez. Eğer böyle bir atama işlemi yaparsanız, son atama değeri anahtar değeri olarak kabul edilir. Örneğin,

  • Anahtar değeri sonradan değiştirilemez. Başka bir deyişle değişmez bir değer seçilmelidir. Anahtar için katar, sayı veya tuple kullanılabilir ama liste şeklinde bir kullanım olmaz. Örneğin,

7.5.5. Dictionary kullanılabilen fonksiyon ve metotlar

Fonksiyonlar ile başlayalım.

Fonksiyon Tanımı
len(dict) Dictionary toplam uzunluğunu verir. Başka bir deyişle öğe sayısını verir.
str(dict) Dictionary için bir katar gösterimi oluşturur.
type(variable) Değişkenin değer türünü döndürür.

Metotlar,

Metot Tanımı
dict.clear() Bir dictionary içindeki tüm öğeleri temizler.
dict.copy() Dictionary’nin bir gölge kopyasını döndürür.
dict.fromkeys() Bir diziden (anahtar değerler) yeni bir dictionary yaratmak için kullanılır. İstenirse anahtar değerlerin karşılığı da yazılabilir.
dict.get(key, default=None) key değeri için value değeri döndürür, eğer değer dictionary’de yoksa default değeri döndürür.
dict.has_key(key) Eğer anahtar değer sözlükte var ise True, aksi takdirde False değeri döndürür.
dict.items() Bir tuple parçaları şeklinde dict nesnesini döndürür.
dict.keys() Bir dictionary’nin anahtarını döndürür.
dict.setdefault(key, default=None) get metoduna benzer, ancak var olmayan tüm değeri sözlük içine ekler ve default değeri atar.
dict.update(dict2) dict2’nin anahtar-değer çiftlerini dict nesnesine ekler.
dict.values() Dictionary değerlerini döndürür.