Press "Enter" to skip to content

Python Sözlükler Dictionaries

Yaşar SAFALI 0

Python Sözlükler Dictionaries

Python Sözlükler Dictionaries

Bu yazımızda Python’da yer alan bir diğer veri tipi olan sözlükleri inceleyeceğiz.Sözlükler anahtar değer mantığıyla çalışan nesnelerdir.Python programcılarının işlerini kolaylaştıran son derece kullanışlı yapılardır.Her veri tipi gibi sözlüklerinde metotları vardır.Bu yazımızda hem sözlükleri hem de sözlüklere ait metotları inceleyeceğiz.

Sözlükleri Tanımlama:

Sözlükler genel itibariyle anahtar değer şeklinde eleman barındırırlar.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}
print(type(sozluk))
print(sozluk)

Output:

<class ‘dict’>
{1: 2, 5: 4, ‘yazılım’: ‘hanem’, False: ‘Yanlış’}

Yukarıdaki tanımlama incelendiğinde sözlükler her veri tipinden eleman barındırabilirler.Elemanlar bir biri ile virgül ile ayrılırlar. Sözlüklerin elemanları incelendiğinde ilk olarak key(anahtar) : daha sonra değer(value) verildiği görülür.

Yukarıdaki sözlüğün anahtarları 1,5,”yazılım” ve False değerleri ise 2,4,”hanem”, “Yanlıştır.”

Sözlüklerin en önemli özelliklerinden biriside bir anahtarla bir kez değer verilir.Örneğin yukarıdaki soruda 1 anahtarıyla 2 yazmış isek tekrar 1 anahtarı ile değer ekleyemeyiz.Eklediğimiz taktirde ilk eklediği değeri siler onun yerine son değeri yazar.

Sözlüklere bool tipinde bir anahtar eklenirken sözlük içerisinde anahtar olarak 1 veya 0 değerinin olmadığına dikkat edilmelidir.Aksi halde True anahtar eklemek istediğimizde 1’i False anahtar eklemek istediğimizde 0’ı güncelleyecektir.

Sözlüklerin eleman sayısı len metodu ile elde edilir.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

print(len(sozluk))

Output:

4

Sözlüklerin Elemanlarına erişmek

Sözlüklerin elemanlarına erişmek için bir kaç yol vardır.İlk olarak anahtarı verip değere ulaşabiliriz.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

print(sozluk["yazılım"])

Output:

hanem

  • Sözlük içerisinde yer alan anahtarlara döngü ile erişebiliriz.

 

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

for i in sozluk:
    print(i)

Output:

1
5
yazılım
False

  • Döngü ile anahtar kullanarak bütün elemanlara erişebiliriz.
sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

for i in sozluk:
    print(sozluk[i])

Output:

2
4
hanem
Yanlış

Sözlüklere değer olarak  başka bir sözlüğü verebiliriz.

sozluk={"Yazılım Hanem":{"İçerik":"Programlama Yazıları","Web Sitesi":"https://yazilimhanem.com"},
        "Mynet":{"içerik":"Haber Sitesi","Web Sitesi":"https://yazilimhanem.com"}}
print(len(sozluk))
for i in sozluk:
    print(sozluk[i])

Output:

2
{‘İçerik’: ‘Programlama Yazıları’, ‘Web Sitesi’: ‘https://yazilimhanem.com’}
{‘içerik’: ‘Haber Sitesi’, ‘Web Sitesi’: ‘https://yazilimhanem.com’}

Dikkatlice incelenirse YazılımHanem ve Mynet anahtarıyla oluşturulan sözlük elemanlarının değeri bir başka sözlüktür.Şimdide o sözlüklerin elemanlarına erişelim.

sozluk={"Yazılım Hanem":{"içerik":"Programlama Yazıları","Web Sitesi":"https://yazilimhanem.com"},
        "Mynet":{"içerik":"Haber Sitesi","Web Sitesi":"https://yazilimhanem.com"}}
print(len(sozluk))
for i in sozluk:
    print(sozluk[i]["içerik"])

2
Programlama Yazıları
Haber Sitesi

Sözlüklere Eleman Eklemek:

Sözlüklere eleman eklenirken sozluk[anahtar]=deger şeklinde kullanılır.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk["python"]="sozlukler"
print(sozluk)

Output:

{1: 2, 5: 4, ‘yazılım’: ‘hanem’, False: ‘Yanlış’, ‘python’: ‘sozlukler’}

Sözlüklerde Eleman Değiştirmek:

Sözlükler mutable değiştirilebilir yapıda oldukları için eklenen elemanın değişimi mümkündür.Sözlüklerde değişiklik yapılırken var olan elemanın anahtarı belirtilerek yeni değeri atanır.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk["yazılım"]="python"
print(sozluk)

Output:

{1: 2, 5: 4, ‘yazılım’: ‘python’, False: ‘Yanlış’}

Sözlüklerin Metotları

keys()

Sözlüğe ait anahtarları dict_keys nesnesi şeklinde bize dönderir.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}
print(sozluk.keys())

Output:

dict_keys([1, 5, ‘yazılım’, False])

values()

Bir sözlüğün değerlerini dict_values nesnesi şeklinde bize dönderir.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}
print(sozluk.values())

Output:

dict_values([2, 4, ‘hanem’, ‘Yanlış’])

 

items()

Bir sözlüğün hem anahtarlarını hemde değerlerini aynı anda bize dict_items nesnesi olarak dönderir.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}


print(sozluk.items())

Output:

dict_items([(1, 2), (5, 4), (‘yazılım’, ‘hanem’), (False, ‘Yanlış’)])

clear()

Sözlüğün elemanlarını temizler siler.Sözlük artık boş bir hale gelir.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk.clear()
print(sozluk)

Output:

{}

copy() 

Bir sözlüğün içeriğini diğer sözlüğe kopyalarken atama işlemi gerçekleşebilir.Örneğin

sozluk2=sozluk

 

Burda dikkat edilmesi gereken nokta herhangi birinde yapılacak değişiklik diğer sözlüğüde etkiler.Çünkü hafızada aynı yeri işaret ederler.Bununla ilgili açıklamayı listeler yazımızda yapmıştık.Bu adresten ulaşabilirsiniz.

copy() Metodu ise iki sözlüğü birbirinden bağımsız kılar birinde yapılan değişiklik diğerini etkilemez.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk2=sozluk.copy()
print(sozluk2)
sozluk["python"]="sozlukler"
print(sozluk)
print(sozluk2)

Output:

{1: 2, 5: 4, ‘yazılım’: ‘hanem’, False: ‘Yanlış’}
{1: 2, 5: 4, ‘yazılım’: ‘hanem’, False: ‘Yanlış’, ‘python’: ‘sozlukler’}
{1: 2, 5: 4, ‘yazılım’: ‘hanem’, False: ‘Yanlış’}

pop()Python Sözlükler Dictionaries

Parametre olarak aldığı anahtar değerini sözlükten siler.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk.pop("yazılım")
print(sozluk)

Output:

{1: 2, 5: 4, False: ‘Yanlış’}

popitem()

Sözlükten rastgele bir elemanı anahtarı ve değeriyle birlikte siler.Pek kullanışlı olduğu söylenemez.

fromkeys()Python Sözlükler Dictionaries

Yeni bir sözlük oluşturmaya yarar.İlk parametre olarak anahtarları,ikinci parametre olarak değeri alır.

liste=["yazılım","python","java"]
anahtar="hanem"
sozluk=dict.fromkeys(liste,anahtar)
print(sozluk)

Output:

{‘yazılım’: ‘hanem’, ‘python’: ‘hanem’, ‘java’: ‘hanem’}

update()

Bu metot parametre olarak bir sözlük alır.Eğer o anahtarda sözlükte eleman varsa onu günceller.Yoksa da sözlüğe ekler.

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk.update({"python":"sözlük"})
print(sozluk)

Output:

{1: 2, 5: 4, ‘yazılım’: ‘hanem’, False: ‘Yanlış’, ‘python’: ‘sözlük’}

sozluk={1:2,5:4,"yazılım":"hanem",False:"Yanlış"}

sozluk.update({"yazılım":"dili"})
print(sozluk)

Output:

{1: 2, 5: 4, ‘yazılım’: ‘dili’, False: ‘Yanlış’}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir