Python 7- Dictionary – Veri Yapıları- Big Datacı

Python’da bir öğe tutan veri yapılarından farklı olan list, tuple ve dictionary yapıları mevcuttu. List ve tuple’dan önceki yazılarda bahsedilmişti. Dictionary, anahtar ifadelerin tutulduğu referanslı bir veri yapısıdır. Sözlük veri yapısı, gerçek anlamdaki sözlük ifadesini karşılamaktadır.

Sözlük veri yapısı özellikleri

  • Kapsayıcıdır.
  • Sırasızdır.
  • Değiştirilebilir.

Sözlük yapısını belirtirken verileri süslü parantez({}) içerisine alırız. Örneğin sözlük= {veri1: açıklama1, veri2: açıklama2} şeklinde yazılmalıdır. Ayriyeten sözlük yapısında verileri yazarken aralarına virgül koyulması unutulmamalıdır.

Bir örnekle sözlük veri yapısını inceleyelim

sozluk= { 'JIT': 'Just in Time', 'WIP': 'Work in Process', 'SMED': 'Single Minute Exchange of Dies'}
print(sozluk)

Kodların çıktısı

Sözlük verilerini ekrana getirmenin 2 yolu vardır. İlki yukarıda bulunan çıktıda gösterilmiştir.

İkinci yolu ise sözlükte bulunan tek bir veriyi getirmek isteyeceğimiz zaman tercih edilir. Bir örnekle

sozluk= { 'JIT': 'Just in Time', 'WIP': 'Work in Process', 'SMED': 'Single Minute Exchange of Dies'}
smed=sozluk["SMED"]
print(smed)

Kodun çıktısı

Yukarıda gösterildiği şekilde yazılarak sözlükteki tüm verileri çekilebilir.

Sözlükteki verilere sayısal ifadeler de atama yapılabilir.

sozluk= { 'JIT': 20, 'WIP': 40, 'SMED': 60}
print(sozluk)

Çıktısı ise

Dictionary Eleman İşlemleri

Sözlüğün bir özelliği de sırasız olmasıydı. Peki bu ne anlama geliyor?

Örneğin bir sözlük yazıp 0. indekste olan elemanı getirmeyi deneyelim.

sozluk= { 'JIT': 'Just in Time', 'WIP': 'Work in Process', 'SMED': 'Single Minute Exchange of Dies'}
sozluk[0]

Çıktısı ise

Sözlük[0] key error hatası verdi. Bu hatayı vermesinin sebebi sözlükte eleman seçme işlemini sıralı olarak gerçekleştirilememektedir.

Döngü ile Elemanlara Erişim

For() döngüsünü kullanarak (For() döngüsü diğer yazılarda detaylı olarak anlatılacaktır.) veriler üzerinde dolaşabilirsiniz. Örneğin sadece marka, modeli ve yılı yazdırılsın. (Açıklamaları yazdırılmasın.)

thisdict = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020}
for x in thisdict:
 print(x)

Kodun çıktısı (Burada satırları tek tek çalıştırmak yerine tümünü çalıştırırsanız hata alma olasılığınız azalır.)

Bu seferde verilerin açıklaması yazdırılsın.

thisdict = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020}
for x in thisdict:
  print(thisdict[x])

Kodun çıktısı

Eğer hem verinin hem açıklamanın yazdırılmasını isteniyorsa items() fonksiyonunu kullanmamız gerekmektedir.

thisdict = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020}
for y,z in thisdict.items():
  print(y, z)

Sözlükte Eleman Ekleme ve Değiştirme

Sözlükte bulunan bir elemanı değiştirmek için örneğe bakacak olursak

thisdict = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2019}
thisdict["Yılı"]=2020
print(thisdict)

Kodun çıktısı

Yukarıda görüldüğü üzere 2019 yılı Volkswagen Golf verisini 2020 yılı Volkswagen Golf verisine dönüştürüldü.

Sözlüğe bir eleman eklemek için örneğe bakacak olursak

thisdict = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020}
thisdict["Fiyatı:"]=250000
print(thisdict)

Kodun çıktısı

Yukarıda bulunan kodlarla thisdict sözlüğüne “Fiyatı:” kriterini ekleme gerçekleştirildi.

Dictionary Silme İşlemi

Sözlükte silme işlemi yapmanın birkaç yolu bulunmaktadır. Bunlardan ilki pop() fonksiyonunu kullanarak veri silme işlemini yapmaktır. Örneğin

thisdictionary = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020, "Fiyatı": 250000}
thisdictionary.pop("Fiyatı")
print(thisdictionary)

Kodun çıktısı

Yukarıda bulunan örnekte “Fiyatı” kriterini silmek istediğimizde sözlüğünadı.pop(silmek istediğimiz kriter) yazabilirsiniz.

Diğer bir yöntem ise del() fonksiyonunu kullanarak silme işleminin gerçekleştirilmesidir.

thisdictionary = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020, "Fiyatı": 250000}
del thisdictionary["Fiyatı"]
print(thisdictionary)

Kodun çıktısı

Yukarıdaki örnekte de “Fiyatı” kriterini silmek istedik. Silerken del sözlükismi[Silinmek istenen kriter] şeklinde yazabilirsiniz.(Silmek istenen kriteri köşeli parantez içerisine almayı unutmayınız.)

Diğer bir yöntem ise clear() fonksiyonun kullanılmasıdır. Clear() fonksiyonun diğer silme fonksiyonlardan farkı sözlüğün içerisinde tüm verileri silmeyi sağlamaktadır.

thisdictionary = { "Marka": "Volkswagen", "Modeli": "Golf","Yılı": 2020, "Fiyatı": 250000}
thisdictionary.clear()
print(thisdictionary)

Kodun çıktısı

Yukarıdaki örnekte sözlük içerisinde bulunan tüm verileri ve açıklamalarını sildiği için sonucu boş küme({}) oluşmuştur.

İç İçe Sözlük İşlemleri

Sözlük birden fazla sözlüğü içerisinde bulundurabilir.

cars={"Car1":{"Brand":"Fiat","Model": "500L"},"Car2":{"Brand":"Toyota","Model": "Corolla"},"Car3":{"Brand":"Volkswagen","Model": "Polo"}}
print(cars)

Kodun çıktısı

Yukarıdaki örnekte olduğu gibi arabaların marka ve modelinin bulunduğu bir sözlük yapılabilir. Arabaların özellikleri ve arabaların sayısı çoğaltılabilir.

Bir Cevap Yazın