PROGRAMLAMA DERSLERİ PYTHON 8
BÖLÜM 3 / 4
Python Sözlükler (Dictionary)
Python’da sözlükler birbirlerinden virgül (,) ile ayrılmış anahtar:değeri şeklinde eşleştirilmiş veri yapılarıdır. Python’da key:value sözcükleriyle ifade edilir. Bunun anlamı şudur key değerini girdiğiniz zaman value çıkışını alırsınız. Bu iki verinin birbiriyle eşleştirilmesidir. Sözlük (Dictionary) veri yapısının tipi 'dict'. Basit bir dict veri yapısına örnek;
[“bir”:1 , ”iki”:2 , ”üç”:3] , verebiliriz.
Sözlük elemanları değiştirilebilir niteliktedir.
Birbirlerinden virgüllerle ayrılmış anahtar:değeri / key:value map (eşlem) yapılarıdır.
Stringler “…”, listelerde/list […], demetlerde/tuple (…), sözlüklerde/dictionary {…} süslü parantezler kullanılır.
String, liste, demet elemanlarına erişim için tamsayı indisler kullanılırken, sözlüklerde anahtarlar (keys) kullanılır ve her bir anahtar değeri tekil (unique) olmalıdır.
Şimdi python dilinde sözlük tanımlama şekillerine örnekler verelim.
s1=dict(bir=1, iki=2, üç=3, dört=4)
s2={"bir":1,"iki":2, "üç":3, "dört":4}
s3=dict(zip([("bir","iki","üç,"dört"] , [1,2,3,4])))
Yukarıda belirtilenlerden başka bazı tanımlamalar olsa da yazma pratiği açısından en uygunu s1 ve s2 değişkenleriyle yaptığımdır. Ve yukarıda yazılan tüm değişkenler birbirinin eşitidir.
Pratiğe geçmeden önce sözlük (dict) yapısının özelliklerine de değinelim.
- Sözlük elemanları değiştirilebilir niteliktedir.
- Birbirlerinden virgül ( , ) ile ayrılmış 'anahtar:değeri' ("Key:Value") (map) yapılarıdır. Yani bu iki veri birbirine eşleniktir.
- Sözlüklerde {...} süslü parante<ler kullanılır.
- String, List ve Tuple elemanlarına erişim için tamsayı indis numaraları kullanılırken, sözlüklerde anahtar değeri kullanılır. Bu nedenle her bir anahtar değeri tekil (eşsiz=unique) olmalıdır.
- #sözlük
- kisi={"isim":"Ali" , "yaş":20 ,"cinsiyet":"E" , "hobiler":["Bisikler","Sinema","Konser"]}
- print(kisi["isim"])
- print(kisi["yaş"])
- print(kisi["cinsiyet"]) #anahtarı yaz değeri al
- print(kisi)
- kisi["isim"]="Ahmet" #veri güncelleme
- print(kisi)
- kisi.update({"isim":"ceren","yas":31,"cinsiyet":"K"})# aynı anda birden fazla guncelleme
- #burada hatalı bir anahtar saha açılmış ve anahtar değeri birlikte sözlüğe eklenmiştir. yaş yerine yas olarak eklenmiştir.
- print(kisi)
- kisi["TCKNO"]="12345" #sözlüğe yeni bir alan ekledik
- print(kisi)
- del kisi["TCKNO"]
- del kisi["yas"] #hatalı yas alanı silinmiştir.
- print(kisi)

Önce tek tek bir sözlükten anahtarları girerek o anahtarın karşılığı olan değerleri aldık. Ardından sözlük tipindeki değişkenimizin içindeki tüm veriyi aldık. Sonra kisi[“isim”]=”Ahmet” ile isim anahtar değerini Ahmet olarak güncelledik.
Eğer bir anahtar ve değerini silmek istersek del komutundan faydalanıyoruz. Yukarıdaki program örneğimize komutlar ekledik. dictionary /sözlükten nasıl alan silindiğini inceleyin.
Şimdi for döngüsüyle sözlük verilerini nasıl bastırabiliriz konusunu inceleyelim. Aşağıdaki örnekte birden fazla şekilde for döngüsü kullanım örneği veriliyor.
İlk döngüde x değeri kişi sözlüğünde sadece anahtarları veriyor ve dört alan (isim, yaş, cinsiyet, hobiler) print ediliyor. Sonraki döngüde x bu defa kişi sözlüğünde değerlerin olduğu yere götürülüyor ve bu defa sadece değerleri alıyoruz.
- #sözlük
- kisi={"isim":"Ali" , "yaş":20 ,"cinsiyet":"E" , "hobiler":["Bisikler","Sinema","Konser"]}
- for x in kisi:
- print(x) # burada x değişkeni anahtarların yerine geçer
- for x in kisi:
- print(kisi[x]) #burada x değişkeni değerlerin yerine geçer
- print(kisi.keys()) #sadece anahtarları print eder
- print(kisi.values()) #sadece değerleri print eder
- print(kisi.items()) #sözlüğü 2li eşleştirerek verir.
- for k in kisi.items():
- print(k)
- for k,v in kisi.items():
- print(k,v)



Yorum Yap